P4080 PCIe Adapter SDK User Guide Production Release
P4080 PCIe Adapter SDK User Guide Production Release
P4080 PCIe Adapter SDK User Guide Production Release
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Freescale Semiconductor<br />
Rx Path<br />
qman_poll() API invokes the FQ specific callbacks registered by Ethernet Hardware Function<br />
Library during FQ init. In each callback invocation, the Rx Flow Table is looked up to determine<br />
the corresponding Host Rx ring ID.<br />
For every Ethernet Rx packet, the pkt_drv_enqueue_host_ring() API is invoked to transfer the Rx<br />
packet to host memory. In this API, it is verified if the Rx ring has some free FDs. If there are free<br />
FDs, the DMA of Rx data is initiated from <strong>P4080</strong> to Host memory by obtaining the Host address<br />
from Rx shadow ring’s FD. The necessary fields inFD of the Host Rx Descriptor ring are modified<br />
and the Host producer index is updated.<br />
The dma_channel_poll() API, invoked by the application thread checks for DMA completions. If it<br />
finds Rx DMA completions, an MSI interrupt is sent to the Host to notify of an Rx packet.<br />
© Freescale Semiconductor, Inc., 2011. All rights reserved.<br />
Freescale Confidential Proprietary Page 20