On Wed, Jun 05, 2002 at 03:47:47PM -0700, David S. Miller wrote: > From: William Jhun <wjhun@ayrnetworks.com> > Date: Wed, 5 Jun 2002 13:12:31 -0700 > > In the current linux-mips implementation, this has some subtle problems: > pci_unmap_{single,sg}() is essentially a no-op. > > Right, I see the problem. I'll think about this some more. > > As it stands now, I think the correct solution is to require > pci_dma_prep_single() before giving the buffer back to the > device after the read. Right, that's what I was thinking. Is it asking a lot to demand that all existing drivers that use this interface add pci_dma_prep_single()? How will backward compatiblility with older drivers work? That's why I suggested leaving pci_dma_sync_single() and adding pci_dma_release_single() which can leave the cache flush to pci_dma_prep_single(). It seems like elsewhere, like the D-cache flushing interface (for virtual aliasing), both old and new interfaces co-exist. Does this seem to work out O.K. in your experience? Will