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