- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I observe the EMACS DMA controller fails to correctly update the descriptors status in DMA ring mode. What I can clearly see is that
within the rx-ring single descriptors are omitted i.e. the own biot remains set whereas the next descriptor after this is valid. In this situation the linux driver stops and the rx ring is filled until it the overrun error bit is set.
I have tried a "dirty hack" and double checked if the next descriptor holds
valid data when the current is owned by the DMA controller. My design operates with both EMACs of the SOC connected to a GMII to SGMII bridge/transceiver i.e. GMII is routed through the fpga fabric.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Anand,
Dear Nooraini,
thank you for getting back to me and sorry for my late reply.
Meanwhile it seems that we have found the reason for the failing
DMA transfers from GMAC. The 'shared attributes override' Bit in
the L2C Cache controllers AUX_CONTROL Register must be set to
one. This can be done either via bootloader patch or by adding the
"arm,shared-override" parameter to the L2C node in the devicetree.
Otherwise the Rx Path fails after some minutes when theres high
network traffic.
@ Anand : Yes I was able to ping the description. I have added some debug
code to the driver to output the descriptor ring immediately when the DMA#
fails.
Please close this request.
All the best,
Andre
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Currently I am reviewing the forum for any open questions and found this thread. I apologize that no one seems to answer this question that you posted. Since it has been a while you posted this question, I'm wondering if you have found the answer? If not, please let me know, I will try to assign someone to assist you. Thank you.
Regards,
Nooraini
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
- Can you ping the connection?
- Is the connection data transfer successfully receive packets? and how you have checked it?
- how do you access the descriptor - DS5 or Linux ?
Best Regards,
Anand Raj Shankar
(This message was posted on behalf of Intel Corporation)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Anand,
Dear Nooraini,
thank you for getting back to me and sorry for my late reply.
Meanwhile it seems that we have found the reason for the failing
DMA transfers from GMAC. The 'shared attributes override' Bit in
the L2C Cache controllers AUX_CONTROL Register must be set to
one. This can be done either via bootloader patch or by adding the
"arm,shared-override" parameter to the L2C node in the devicetree.
Otherwise the Rx Path fails after some minutes when theres high
network traffic.
@ Anand : Yes I was able to ping the description. I have added some debug
code to the driver to output the descriptor ring immediately when the DMA#
fails.
Please close this request.
All the best,
Andre


- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page