Messages in this thread | | | Date | Sat, 29 Jul 2000 16:53:23 -0700 | From | "David S. Miller" <> | Subject | Re: A simple question about readw, readw and the like |
| |
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/
| |