cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Observer
Observer
258 Views
Registered: ‎03-19-2020

How to get exactly received length of the DMA work with Aurora.

Hi all,

I have a project work on DMA + Aurora to transfer data between 2 ZCU102 board. Everything transfer fine. But i want to get exactly length receive by DMA. Now, size of length i get always is multiply of DMA memory map width in byte, payload with padding zeros. For example, I transfer 142 bytes, get 144 bytes with DMA memory map width is 64bit, first 142 bytes is which i need, and padding two zeros. I need to get exactly 142 bytes in receive side.

 

Anybody tell me how to do that?

Thanks you

0 Kudos
Reply
2 Replies
174 Views
Registered: ‎02-24-2020

I don't think you can do this. I think what you receive is always going to be based on your bus width as that is what comes over the bus with each AXI "beat."

The only thing I could think to try would be perhaps enabling the data-realignment engine, as this allows you to start your transactions at any offset rather than being aligned to the bus width, but I'm thinking that's not going to work either but maybe worth a try.

 

This would probably be a better post for the hardware forum as it's not directly Linux related and might get some more answers there. Perhaps a mod can move it?

Ken Sloat - Embedded Software Engineer
https://www.designlinxhs.com
0 Kudos
Reply
Observer
Observer
142 Views
Registered: ‎03-19-2020

Hi Ken,

How axiethenet 10/25G ip core do this? Axiethenet driver can get exactly size of ip packet which it receive. It's use 64b/66b encoding like Aurora. 

0 Kudos
Reply