diff options
-rw-r--r-- | drivers/char/drm/drmP.h | 7 | ||||
-rw-r--r-- | drivers/char/drm/drm_ioctl.c | 4 | ||||
-rw-r--r-- | drivers/char/drm/drm_irq.c | 2 | ||||
-rw-r--r-- | drivers/char/drm/drm_stub.c | 3 |
4 files changed, 9 insertions, 7 deletions
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h index 9838e8ce6ff2..4f0de974c191 100644 --- a/drivers/char/drm/drmP.h +++ b/drivers/char/drm/drmP.h | |||
@@ -699,7 +699,6 @@ typedef struct drm_device { | |||
699 | drm_agp_head_t *agp; /**< AGP data */ | 699 | drm_agp_head_t *agp; /**< AGP data */ |
700 | 700 | ||
701 | struct pci_dev *pdev; /**< PCI device structure */ | 701 | struct pci_dev *pdev; /**< PCI device structure */ |
702 | int pci_domain; /**< PCI bus domain number */ | ||
703 | #ifdef __alpha__ | 702 | #ifdef __alpha__ |
704 | struct pci_controller *hose; | 703 | struct pci_controller *hose; |
705 | #endif | 704 | #endif |
@@ -721,6 +720,12 @@ static __inline__ int drm_core_check_feature(struct drm_device *dev, | |||
721 | return ((dev->driver->driver_features & feature) ? 1 : 0); | 720 | return ((dev->driver->driver_features & feature) ? 1 : 0); |
722 | } | 721 | } |
723 | 722 | ||
723 | #ifdef __alpha__ | ||
724 | #define drm_get_pci_domain(dev) dev->hose->bus->number | ||
725 | #else | ||
726 | #define drm_get_pci_domain(dev) pci_domain_nr(dev->pdev->bus) | ||
727 | #endif | ||
728 | |||
724 | #if __OS_HAS_AGP | 729 | #if __OS_HAS_AGP |
725 | static inline int drm_core_has_AGP(struct drm_device *dev) | 730 | static inline int drm_core_has_AGP(struct drm_device *dev) |
726 | { | 731 | { |
diff --git a/drivers/char/drm/drm_ioctl.c b/drivers/char/drm/drm_ioctl.c index 9f20c2b5a366..e15899830581 100644 --- a/drivers/char/drm/drm_ioctl.c +++ b/drivers/char/drm/drm_ioctl.c | |||
@@ -127,7 +127,7 @@ int drm_setunique(struct inode *inode, struct file *filp, | |||
127 | domain = bus >> 8; | 127 | domain = bus >> 8; |
128 | bus &= 0xff; | 128 | bus &= 0xff; |
129 | 129 | ||
130 | if ((domain != dev->pci_domain) || | 130 | if ((domain != drm_get_pci_domain(dev)) || |
131 | (bus != dev->pdev->bus->number) || | 131 | (bus != dev->pdev->bus->number) || |
132 | (slot != PCI_SLOT(dev->pdev->devfn)) || | 132 | (slot != PCI_SLOT(dev->pdev->devfn)) || |
133 | (func != PCI_FUNC(dev->pdev->devfn))) | 133 | (func != PCI_FUNC(dev->pdev->devfn))) |
@@ -149,7 +149,7 @@ static int drm_set_busid(drm_device_t * dev) | |||
149 | return ENOMEM; | 149 | return ENOMEM; |
150 | 150 | ||
151 | len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d", | 151 | len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d", |
152 | dev->pci_domain, dev->pdev->bus->number, | 152 | drm_get_pci_domain(dev), dev->pdev->bus->number, |
153 | PCI_SLOT(dev->pdev->devfn), | 153 | PCI_SLOT(dev->pdev->devfn), |
154 | PCI_FUNC(dev->pdev->devfn)); | 154 | PCI_FUNC(dev->pdev->devfn)); |
155 | 155 | ||
diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c index 41c7020c93ef..4553a3a1e496 100644 --- a/drivers/char/drm/drm_irq.c +++ b/drivers/char/drm/drm_irq.c | |||
@@ -64,7 +64,7 @@ int drm_irq_by_busid(struct inode *inode, struct file *filp, | |||
64 | if (copy_from_user(&p, argp, sizeof(p))) | 64 | if (copy_from_user(&p, argp, sizeof(p))) |
65 | return -EFAULT; | 65 | return -EFAULT; |
66 | 66 | ||
67 | if ((p.busnum >> 8) != dev->pci_domain || | 67 | if ((p.busnum >> 8) != drm_get_pci_domain(dev) || |
68 | (p.busnum & 0xff) != dev->pdev->bus->number || | 68 | (p.busnum & 0xff) != dev->pdev->bus->number || |
69 | p.devnum != PCI_SLOT(dev->pdev->devfn) || p.funcnum != PCI_FUNC(dev->pdev->devfn)) | 69 | p.devnum != PCI_SLOT(dev->pdev->devfn) || p.funcnum != PCI_FUNC(dev->pdev->devfn)) |
70 | return -EINVAL; | 70 | return -EINVAL; |
diff --git a/drivers/char/drm/drm_stub.c b/drivers/char/drm/drm_stub.c index 96449d538e15..b1ead37c51d6 100644 --- a/drivers/char/drm/drm_stub.c +++ b/drivers/char/drm/drm_stub.c | |||
@@ -68,9 +68,6 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev, | |||
68 | 68 | ||
69 | #ifdef __alpha__ | 69 | #ifdef __alpha__ |
70 | dev->hose = pdev->sysdata; | 70 | dev->hose = pdev->sysdata; |
71 | dev->pci_domain = dev->hose->bus->number; | ||
72 | #else | ||
73 | dev->pci_domain = 0; | ||
74 | #endif | 71 | #endif |
75 | dev->irq = pdev->irq; | 72 | dev->irq = pdev->irq; |
76 | 73 | ||