FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6462 Discussions

Problem in receiving data path TSE

Altera_Forum
Honored Contributor II
933 Views

Hi, 

 

 

 

the altera based designed io fpga supports three triple speed ethernet ports (10/100/1000 mbps). two of the triple speed ethernet port use sgmii interfaces(marvel phy) and one uses the gmii interface(broadcom phy). master interface for phy device management is done with management data i/o (mdio) interface for all the ports. i/o fpga ethernet functions have a set of registers for initialization and configuration in the pcie space. to address the ethernet function, it is mapped to the pcie memory-mapped address space of the processor soc(bay trail –e38xxxx). tse ethernet mac and external phy setup and register configuration will be done in the linux kernel space(yocto-linux-3.14). a set of msi-x/msi interrupts and its handlers will be associated with this function. ethernet communications is provided using a socket interface and specifically the berkeley socket api. the ethernet application will use the socket apis which are exposed in user space. a net driver shall be register and a device node will be created by the kernel driver for each ethernet port interface in the linux subsystem “/dev/iofpga/ethx”.when i am testing the data transfer using iperf tool, only few kbytes of data received and after that ethernet stopped receiving the data and not able to generate the interrupts. please suggest for the solutions to make receiver section working fine. there is also packet differences in mac received(more) and interrupt generated. interrupt is generating per packet. we also allocated 64 descriptor for receiving the data but driver is not moving to next descriptor. keep on fetching the data from first descriptor itself.  

 

driver code is designed in base with altera tse_main.c & altera sgdma.c. 

 

please find the below log when i am receiving the packets. 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.060805] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.060805] destination address =0x126840 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.060805] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.060805] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.060805] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138471] destination address =0x50040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138471] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138471] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138664]  

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138664] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] destination address =0x54840 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] destination address =0x55040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] destination address =0x56040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] destination address =0x53040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] destination address =0x57840 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.138680] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139486]  

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139486] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139504] destination address =0x53840 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139504] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139504] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139887]  

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139887] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] destination address =0x51040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] destination address =0x54040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] destination address =0x52040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] destination address =0x51840 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] next desc address =0x72e5f020 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] pktlength =1060 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] desc base address =0x72e5f000 sourse addres = 0x0 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] destination address =0x57040 

 

jun 25 11:40:06 intel-corei7-64 user.warn kernel: [ 550.139905] next desc address =0x72e5f020 

 

 

 

 

 

 

thanks in advance 

 

regards, 

balasbramani c 

 

0 Kudos
0 Replies
Reply