summaryrefslogtreecommitdiffstats
path: root/sys/dev/cardbus
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2012-03-02 20:38:04 +0000
committerjhb <jhb@FreeBSD.org>2012-03-02 20:38:04 +0000
commitd6e546f14a581a2fb495e470ff7bf73ec4282395 (patch)
treeb50d96653ef1fad93fd23cd1c81a0d5719b09573 /sys/dev/cardbus
parent6d9202e45726f379f997128f531e4d8945656c74 (diff)
downloadFreeBSD-src-d6e546f14a581a2fb495e470ff7bf73ec4282395.zip
FreeBSD-src-d6e546f14a581a2fb495e470ff7bf73ec4282395.tar.gz
- Add a bus_dma tag to each PCI bus that is a child of a Host-PCI bridge.
The tag enforces a single restriction that all DMA transactions must not cross a 4GB boundary. Note that while this restriction technically only applies to PCI-express, this change applies it to all PCI devices as it is simpler to implement that way and errs on the side of caution. - Add a softc structure for PCI bus devices to hold the bus_dma tag and a new pci_attach_common() routine that performs actions common to the attach phase of all PCI bus drivers. Right now this only consists of a bootverbose printf and the allocate of a bus_dma tag if necessary. - Adjust all PCI bus drivers to allocate a PCI bus softc and to call pci_attach_common() from their attach routines. MFC after: 2 weeks
Diffstat (limited to 'sys/dev/cardbus')
-rw-r--r--sys/dev/cardbus/cardbus.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/cardbus/cardbus.c b/sys/dev/cardbus/cardbus.c
index ea75770..608c1fe 100644
--- a/sys/dev/cardbus/cardbus.c
+++ b/sys/dev/cardbus/cardbus.c
@@ -316,6 +316,7 @@ static device_method_t cardbus_methods[] = {
DEVMETHOD(device_resume, cardbus_resume),
/* Bus interface */
+ DEVMETHOD(bus_get_dma_tag, bus_generic_get_dma_tag),
DEVMETHOD(bus_read_ivar, cardbus_read_ivar),
DEVMETHOD(bus_driver_added, cardbus_driver_added),
OpenPOWER on IntegriCloud