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

From: David S. Miller (davem@redhat.com)
Date: Sun Jun 09 2002 - 23:24:22 EST


   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/



This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:15 EST