On Tue, 21 Oct 2003 09:12:53 +0200 (CEST)
Martin Diehl <lists@xxxxxxxxx> 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.