Re: A simple question about readw, readw and the like

From: David S. Miller (davem@redhat.com)
Date: Sat Jul 29 2000 - 18:53:23 EST


   Date: Sun, 30 Jul 2000 00:55:29 +0200
   From: Andreas Bombe <andreas.bombe@munich.netsurf.de>

   Sometimes it is needed to let one PCI device do DMA to another part
   of itself or another PCI device. For this, you need the bus
   addresses of the PCI memory resources. If
   pci_resource_start(dev,x) doesn't give you that, where else could
   it be found? By doing configure space reads I guess, but is that
   really necessary?

I just remembered that there is a problem with this, not all PCI
implementations can DMA across different bus segments. For example,
if the two busses are behind different PCI controllers on sparc64,
you cannot do peer-to-peer DMA between them.

So besides putting the resource->pci_bus_address translation interface
into asm/pci.h, we'd need to provide an interface which a driver can
use to ask "pci_peer_to_peer_possible(pci_dev1, pci_dev2)".

Later,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:30 EST