Re: PCI DMA to small buffers on cache-incoherent arch

David S. Miller (davem@redhat.com)
Sun, 09 Jun 2002 21:24:22 -0700 (PDT)


From: Oliver Neukum <Oliver.Neukum@lrz.uni-muenchen.de>
Date: Sun, 9 Jun 2002 08:45:49 +0200

Am Sonntag, 9. Juni 2002 07:29 schrieb David S. Miller:
> From: Roland Dreier <roland@topspin.com>
> Date: 08 Jun 2002 18:26:12 -0700
>
> Just to make sure I'm reading this correctly, you're saying that as
> long as a buffer is OK for DMA, it should be OK to use a
> sub-cache-line chunk as a DMA buffer via pci_map_single(), and
> accessing the rest of the cache line should be OK at any time before,
> during and after the DMA.
>
> Yes.

Does this mean that this piece of memory does have to be declared
uncacheable until DMA is finished ?
How else do you solve th problem of validity during DMA and
especially after DMA ?

You flush either before/after depending upon whether the cpu caches
are writeback in nature or not, and the cpu is not allowed to touch
those addresses while the device is doing the DMA.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/