remove local copies of pci domain/bus/slot/num
parent
cc71393559
commit
3a681bb4c1
|
@ -747,10 +747,6 @@ typedef struct drm_device {
|
||||||
drm_agp_head_t *agp; /**< AGP data */
|
drm_agp_head_t *agp; /**< AGP data */
|
||||||
|
|
||||||
struct pci_dev *pdev; /**< PCI device structure */
|
struct pci_dev *pdev; /**< PCI device structure */
|
||||||
int pci_domain; /**< PCI bus domain number */
|
|
||||||
int pci_bus; /**< PCI bus number */
|
|
||||||
int pci_slot; /**< PCI slot number */
|
|
||||||
int pci_func; /**< PCI function number */
|
|
||||||
#ifdef __alpha__
|
#ifdef __alpha__
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,3)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,3)
|
||||||
struct pci_controler *hose;
|
struct pci_controler *hose;
|
||||||
|
@ -776,6 +772,12 @@ static __inline__ int drm_core_check_feature(struct drm_device *dev,
|
||||||
return ((dev->driver->driver_features & feature) ? 1 : 0);
|
return ((dev->driver->driver_features & feature) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __alpha__
|
||||||
|
#define drm_get_pci_domain(dev) dev->hose->bus->number
|
||||||
|
#else
|
||||||
|
#define drm_get_pci_domain(dev) pci_domain_nr(dev->pdev->bus)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if __OS_HAS_AGP
|
#if __OS_HAS_AGP
|
||||||
static inline int drm_core_has_AGP(struct drm_device *dev)
|
static inline int drm_core_has_AGP(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
|
|
|
@ -125,9 +125,10 @@ int drm_setunique(struct inode *inode, struct file *filp,
|
||||||
domain = bus >> 8;
|
domain = bus >> 8;
|
||||||
bus &= 0xff;
|
bus &= 0xff;
|
||||||
|
|
||||||
if ((domain != dev->pci_domain) ||
|
if ((domain != drm_get_pci_domain(dev)) ||
|
||||||
(bus != dev->pci_bus) ||
|
(bus != dev->pdev->bus->number) ||
|
||||||
(slot != dev->pci_slot) || (func != dev->pci_func))
|
(slot != PCI_SLOT(dev->pdev->devfn)) ||
|
||||||
|
(func != PCI_FUNC(dev->pdev->devfn)))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -145,7 +146,10 @@ static int drm_set_busid(drm_device_t * dev)
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
|
|
||||||
len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
|
len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
|
||||||
dev->pci_domain, dev->pci_bus, dev->pci_slot, dev->pci_func);
|
drm_get_pci_domain(dev),
|
||||||
|
dev->pdev->bus->number,
|
||||||
|
PCI_SLOT(dev->pdev->devfn),
|
||||||
|
PCI_FUNC(dev->pdev->devfn));
|
||||||
if (len > dev->unique_len)
|
if (len > dev->unique_len)
|
||||||
DRM_ERROR("buffer overflow");
|
DRM_ERROR("buffer overflow");
|
||||||
|
|
||||||
|
|
|
@ -64,9 +64,9 @@ int drm_irq_by_busid(struct inode *inode, struct file *filp,
|
||||||
if (copy_from_user(&p, argp, sizeof(p)))
|
if (copy_from_user(&p, argp, sizeof(p)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
if ((p.busnum >> 8) != dev->pci_domain ||
|
if ((p.busnum >> 8) != drm_get_pci_domain(dev) ||
|
||||||
(p.busnum & 0xff) != dev->pci_bus ||
|
(p.busnum & 0xff) != dev->pdev->bus->number ||
|
||||||
p.devnum != dev->pci_slot || p.funcnum != dev->pci_func)
|
p.devnum != PCI_SLOT(dev->pdev->devfn) || p.funcnum != PCI_FUNC(dev->pdev->devfn))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
p.irq = dev->irq;
|
p.irq = dev->irq;
|
||||||
|
|
|
@ -69,13 +69,7 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
|
||||||
|
|
||||||
#ifdef __alpha__
|
#ifdef __alpha__
|
||||||
dev->hose = pdev->sysdata;
|
dev->hose = pdev->sysdata;
|
||||||
dev->pci_domain = dev->hose->bus->number;
|
|
||||||
#else
|
|
||||||
dev->pci_domain = 0;
|
|
||||||
#endif
|
#endif
|
||||||
dev->pci_bus = pdev->bus->number;
|
|
||||||
dev->pci_slot = PCI_SLOT(pdev->devfn);
|
|
||||||
dev->pci_func = PCI_FUNC(pdev->devfn);
|
|
||||||
dev->irq = pdev->irq;
|
dev->irq = pdev->irq;
|
||||||
|
|
||||||
dev->maplist = drm_calloc(1, sizeof(*dev->maplist), DRM_MEM_MAPS);
|
dev->maplist = drm_calloc(1, sizeof(*dev->maplist), DRM_MEM_MAPS);
|
||||||
|
|
Loading…
Reference in New Issue