[PATCH v3 1/1] drm: msm: Replace dma_map_sg with dma_sync_sg*

Brian Starkey Brian.Starkey at arm.com
Thu Nov 29 17:33:03 UTC 2018


Hi Christoph,

On Thu, Nov 29, 2018 at 05:57:15PM +0100, Christoph Hellwig wrote:
> 
> As for the buffer sharing: at least for the DMA API side I want to
> move the current buffer sharing users away from dma_alloc_coherent
> (and coherent dma_alloc_attrs users) and the remapping done in there
> required for non-coherent architectures.  Instead I'd like to allocate
> plain old pages, and then just dma map them for each device separately,
> with DMA_ATTR_SKIP_CPU_SYNC passed for all but the first user to map
> or last user to unmap.  On the iommu side it could probably work
> similar.
> 
> I have done some preliminary work on this, and want to get it into this
> merge window, but there is a few other bits I need to sort out first.
> 

This sounds very useful for ion, to avoid CPU cache maintenance as
long as the buffer stays in device-land.

One question though: How would you determine "the last user to unmap"
to know when to do the final "make visible to CPU" step?

Thanks,
-Brian


More information about the dri-devel mailing list