<div dir="ltr"><div>Hi,<br><br>dma_map_xxx / dma_unmap_xxx pair are used to do cache coherency.<br>see Documentation/DMA-API.txt.<br><br>dma_map_xxx: &quot;Maps a piece of processor virtual memory so it can be accessed by the device and returns the physical handle of the memory.&quot;<br>

</div><div>dma_unmap_xxx: &quot;Unmaps the region previously mapped.  All the parameters passed in must be identical to those passed in (and returned) by the mapping API.&quot;<br><br></div><div>Assuming you are doing DMA_TO_DEVICE synchronization:<br>

<br></div><div>cpu accesses buffer<br></div><div>dma_map_xxx  (after this point, cpu cannot touch the buffer)<br></div><div>device accesses buffer  <br><br><br>device accesses buffer<br>dma_unmap_xxx (after this point, device cannot touch the buffer)</div>
<div>cpu accesses buffer<br><br></div><div>Regards,<br></div><div>MH<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Feb 8, 2014 at 4:16 PM, m silverstri <span dir="ltr">&lt;<a href="mailto:michael.j.silverstri@gmail.com" target="_blank">michael.j.silverstri@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I create DMA buffer in my kernel driver.<br>
I would like to know what is  cache coherency guidelines for DMA<br>
buffer referred by this post?<br>
<a href="http://stackoverflow.com/questions/5564326/linux-kernel-device-driver-to-dma-into-kernel-space" target="_blank">http://stackoverflow.com/questions/5564326/linux-kernel-device-driver-to-dma-into-kernel-space</a><br>

<br>
Both my kernel driver and HW writes to the DMA buffer. I wnat to know<br>
how to make sure  cache coherency.<br>
<br>
Thank you.<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div><br></div>