On Fri, Feb 01, 2019 at 02:22:46PM +0000, Robin Murphy wrote: > On 14/01/2019 09:41, Christoph Hellwig wrote: >> Add a Kconfig symbol that indicates an architecture provides a >> arch_dma_prep_coherent implementation, and provide a stub otherwise. >> >> This will allow the generic dma-iommu code to it while still allowing >> to be built for cache coherent architectures. > > I've been pondering this for a while now, and I still can't really come up > with a case where arch_dma_prep_coherent() would need to behave differently > from arch_sync_dma_for_device(..., DMA_BIDIRECTIONAL). I wonder if we could > just save ourselves this little bit of complexity by using that instead...
A lot of architectures do really weird stuff in the dma sync routines. So my plan would be to consolidate a lot more logic in there first, and then maybe as a next step we could look into using arch_sync_dma_for_device eventually.

