non-cacheable and non-bufferable

Why DMA needs non-bufferable buffers? i am sure what is the use of non-cacheable(data need to be be require from cache because of genuinity i,e Speech and audio). But what non-bufferable means?

Reply to
badal_akr
Loading thread data ...

Bufferable means that any writes to the memory may be temporarily buffered in the CPU before going out to the memory.

If you write something to bufferable memory, and then immediately start a DMA process from that memory, the data may still be in the write buffer, and the DMA engine will grab the old data from the memory before the write has been completed.

It is still possible to use bufferable (and/or cacheable) memory for DMA operations, as long as you ensure that the data has been written to memory before starting the DMA write. In some cases, this is a better solution that making the memory non-cacheable or non-bufferable.

Reply to
Arlet Ottens

It inferes if we use non-bufferable approach, there is no duplication o the data i.e the synchronization is perfect.

Reply to
badal_akr

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.