patch-2.4.23 linux-2.4.23/drivers/char/drm/drm_ioctl.h
Next file: linux-2.4.23/drivers/char/drm/drm_lock.h
Previous file: linux-2.4.23/drivers/char/drm/drm_fops.h
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
2003-11-28 10:26:20.000000000 -0800
- Orig file:
linux-2.4.22/drivers/char/drm/drm_ioctl.h
- Orig date:
2003-06-13 07:51:32.000000000 -0700
diff -urN linux-2.4.22/drivers/char/drm/drm_ioctl.h linux-2.4.23/drivers/char/drm/drm_ioctl.h
@@ -111,7 +111,7 @@
do {
struct pci_dev *pci_dev;
- int b, d, f;
+ int domain, b, d, f;
char *p;
for(p = dev->unique; p && *p && *p != ':'; p++);
@@ -123,6 +123,27 @@
f = (int)simple_strtoul(p+1, &p, 10);
if (*p) break;
+ domain = b >> 8;
+ b &= 0xff;
+
+#ifdef __alpha__
+ /*
+ * Find the hose the device is on (the domain number is the
+ * hose index) and offset the bus by the root bus of that
+ * hose.
+ */
+ for(pci_dev = pci_find_device(PCI_ANY_ID,PCI_ANY_ID,NULL);
+ pci_dev;
+ pci_dev = pci_find_device(PCI_ANY_ID,PCI_ANY_ID,pci_dev)) {
+ struct pci_controller *hose = pci_dev->sysdata;
+
+ if (hose->index == domain) {
+ b += hose->bus->number;
+ break;
+ }
+ }
+#endif
+
pci_dev = pci_find_slot(b, PCI_DEVFN(d,f));
if (pci_dev) {
dev->pdev = pci_dev;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)