On Mon, May 19, 2014 at 12:03:17PM +0200, Thierry Reding wrote: > On Mon, May 19, 2014 at 11:22:11AM +0200, Lucas Stach wrote: > > Am Montag, den 19.05.2014, 11:02 +0200 schrieb Thierry Reding: > > > On Mon, May 19, 2014 at 04:10:58PM +0900, Alexandre Courbot wrote: > > > > Some architectures (e.g. ARM) need the CPU buffers to be explicitely > > > > flushed for a memory write to take effect. Not doing so results in > > > > synchronization issues, especially after writing to BOs. > > > > > > It seems to me that the above is generally true for all architectures, > > > not just ARM. > > > > > No, on PCI coherent arches, like x86 and some PowerPCs, the GPU will > > snoop the CPU caches and therefore an explicit cache flush is not > > required. > > I was criticizing the wording in the commit message. Perhaps it could be > enhanced with what you just said.
Shouldn't this be done in the dma mapping layer? I know that i915 does all the cpu cache flushing itself, but that's because the x86 dma layer refuses to believe that there are non-coherent platforms on x86. But on arm it can cope. This is somewhat important for dma-buf buffer sharing since if the cpu cache control is done in drivers you must do double-flushing on shared buffers. Atm you have to do that anyway, but at least this would make it easier. The other problem is that ttm reinvents half of the dma mapping functions. Just my 2 cents. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/