summaryrefslogtreecommitdiff
path: root/linux-core/drm_fops.c
diff options
context:
space:
mode:
authorDavid Dawes <dawes@xfree86.org>2001-05-01 17:07:59 +0000
committerDavid Dawes <dawes@xfree86.org>2001-05-01 17:07:59 +0000
commita576d41498b742502d4f7dbfeed44737ff79db8f (patch)
tree3d24d06aaf6e56c02750e07677e3dd00627bf9ef /linux-core/drm_fops.c
parentb804c09d0699131a8333c19a4d58cb14125d413e (diff)
Import of XFree86 4.0.99.3
Diffstat (limited to 'linux-core/drm_fops.c')
-rw-r--r--linux-core/drm_fops.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/linux-core/drm_fops.c b/linux-core/drm_fops.c
index dd574766..75752b3a 100644
--- a/linux-core/drm_fops.c
+++ b/linux-core/drm_fops.c
@@ -70,6 +70,21 @@ int DRM(open_helper)(struct inode *inode, struct file *filp, drm_device_t *dev)
}
up(&dev->struct_sem);
+#ifdef __alpha__
+ /*
+ * Default the hose
+ */
+ if (!dev->hose) {
+ struct pci_dev *pci_dev;
+ pci_dev = pci_find_class(PCI_CLASS_DISPLAY_VGA << 8, NULL);
+ if (pci_dev) dev->hose = pci_dev->sysdata;
+ if (!dev->hose) {
+ struct pci_bus *b = pci_bus_b(pci_root_buses.next);
+ if (b) dev->hose = b->sysdata;
+ }
+ }
+#endif
+
return 0;
}