cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
4,968 Views
Registered: ‎05-05-2009

How Cache validation and Invalidation done for DMA?

Hi,

 

        Can anyone explain How cache validation and Invalidation is done for DMA read and write operations.

 

Regards,

Narsimha Rao T

0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
4,957 Views
Registered: ‎04-23-2008

There are various ways to do DMA buffer management in Linux.  The most straightfoward (aside from using uncached buffers) is dma_map_single() before committing the buffer to hardware which will flush the cache and dma_unmap_single() after DMA completion which will invalidate it.
0 Kudos
Highlighted
Anonymous
Not applicable
4,954 Views

I would suggest taking a look at one of the available texts written about linux device driver development.  I have "Linux Device Drivers, 3rd Edition" which goes into a lot of detail in that area..

 

It's avaliable online at http://www.linuxdriver.co.il/ldd3/

 

Terry

 

0 Kudos
Highlighted
Observer
Observer
4,916 Views
Registered: ‎05-05-2009

We are trying to identify the cache validation and invalidation calls ('or' registers setting) for spatran-3A board (microblaze processor).

 

How we can do this, any body please give us your valueable suggestions.

 

thank you in advance

Narsimha Rao 

0 Kudos