On Tue, 21 Oct 2003 09:12:53 +0200 (CEST)
Martin Diehl [off-list ref] wrote:
Last time I checked pci_dma_sync was meant to sync the mapping when
ownership gets transferred from busmaster to cpu, i.e. after hardware
used/modified the buffer. What about the other direction when the cpu
filled a reused streaming map to device and wants to pass ownership to the
busmaster - we need to flush cpu caches to make sure the busmaster sees
the modified data.
That's absolutely correct.
Several times I've noted that this is a BUG in the API, that there
is no way to sync the other way, someone just has to add the interface
hooks then all the platform maintainers will implement it.
Here, do this, add a new interface called pci_dma_sync_to_device()
with the appropriate args. Add a NOP implementation to asm-i386/pci.h
and suitable documentation changes to Documentation/DMA-mapping.txt
When you send me that patch, I'll work with the platform maintainers
to take care of the rest.
Deal?