diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-09-15 18:00:33 -0400 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2008-10-17 17:10:53 -0400 |
commit | 9bfbd5cb72c9edb8504a4a7a0aa89cdb2fcb4845 (patch) | |
tree | b59f08475d3366e60e3c93538ad398905c4a74ec | |
parent | e0f0754ff6128570dcf38032f5bfb1f195e5bbee (diff) |
drm: kill drm_device->irq
Like the last patch but adds a macro to get at the irq value instead of
dereferencing pdev directly. Should make things easier for the BSD guys and
if we ever support non-PCI devices.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/drm_irq.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/drm_stub.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/mga/mga_state.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/r128/r128_state.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_state.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/via/via_irq.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/via/via_mm.c | 3 | ||||
-rw-r--r-- | include/drm/drmP.h | 6 |
8 files changed, 11 insertions, 15 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index d0c13d954f52..4091b9e291f9 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c | |||
@@ -228,12 +228,9 @@ int drm_irq_install(struct drm_device *dev) | |||
228 | if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) | 228 | if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) |
229 | sh_flags = IRQF_SHARED; | 229 | sh_flags = IRQF_SHARED; |
230 | 230 | ||
231 | ret = request_irq(dev->pdev->irq, dev->driver->irq_handler, | 231 | ret = request_irq(drm_dev_to_irq(dev), dev->driver->irq_handler, |
232 | sh_flags, dev->devname, dev); | 232 | sh_flags, dev->devname, dev); |
233 | /* Expose the device irq number to drivers that want to export it for | 233 | |
234 | * whatever reason. | ||
235 | */ | ||
236 | dev->irq = dev->pdev->irq; | ||
237 | if (ret < 0) { | 234 | if (ret < 0) { |
238 | mutex_lock(&dev->struct_mutex); | 235 | mutex_lock(&dev->struct_mutex); |
239 | dev->irq_enabled = 0; | 236 | dev->irq_enabled = 0; |
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c index 82f4657b8879..141e33004a76 100644 --- a/drivers/gpu/drm/drm_stub.c +++ b/drivers/gpu/drm/drm_stub.c | |||
@@ -107,7 +107,6 @@ static int drm_fill_in_dev(struct drm_device * dev, struct pci_dev *pdev, | |||
107 | #ifdef __alpha__ | 107 | #ifdef __alpha__ |
108 | dev->hose = pdev->sysdata; | 108 | dev->hose = pdev->sysdata; |
109 | #endif | 109 | #endif |
110 | dev->irq = pdev->irq; | ||
111 | 110 | ||
112 | if (drm_ht_create(&dev->map_hash, 12)) { | 111 | if (drm_ht_create(&dev->map_hash, 12)) { |
113 | return -ENOMEM; | 112 | return -ENOMEM; |
diff --git a/drivers/gpu/drm/mga/mga_state.c b/drivers/gpu/drm/mga/mga_state.c index d3f8aade07b3..b710fab21cb3 100644 --- a/drivers/gpu/drm/mga/mga_state.c +++ b/drivers/gpu/drm/mga/mga_state.c | |||
@@ -1022,7 +1022,7 @@ static int mga_getparam(struct drm_device *dev, void *data, struct drm_file *fil | |||
1022 | 1022 | ||
1023 | switch (param->param) { | 1023 | switch (param->param) { |
1024 | case MGA_PARAM_IRQ_NR: | 1024 | case MGA_PARAM_IRQ_NR: |
1025 | value = dev->irq; | 1025 | value = drm_dev_to_irq(dev); |
1026 | break; | 1026 | break; |
1027 | case MGA_PARAM_CARD_TYPE: | 1027 | case MGA_PARAM_CARD_TYPE: |
1028 | value = dev_priv->chipset; | 1028 | value = dev_priv->chipset; |
diff --git a/drivers/gpu/drm/r128/r128_state.c b/drivers/gpu/drm/r128/r128_state.c index 51a9afce7b9b..f7a5b5740764 100644 --- a/drivers/gpu/drm/r128/r128_state.c +++ b/drivers/gpu/drm/r128/r128_state.c | |||
@@ -1629,7 +1629,7 @@ static int r128_getparam(struct drm_device *dev, void *data, struct drm_file *fi | |||
1629 | 1629 | ||
1630 | switch (param->param) { | 1630 | switch (param->param) { |
1631 | case R128_PARAM_IRQ_NR: | 1631 | case R128_PARAM_IRQ_NR: |
1632 | value = dev->irq; | 1632 | value = drm_dev_to_irq(dev); |
1633 | break; | 1633 | break; |
1634 | default: | 1634 | default: |
1635 | return -EINVAL; | 1635 | return -EINVAL; |
diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c index 11c146b49211..5d7153fcc7b0 100644 --- a/drivers/gpu/drm/radeon/radeon_state.c +++ b/drivers/gpu/drm/radeon/radeon_state.c | |||
@@ -2997,7 +2997,7 @@ static int radeon_cp_getparam(struct drm_device *dev, void *data, struct drm_fil | |||
2997 | value = GET_SCRATCH(2); | 2997 | value = GET_SCRATCH(2); |
2998 | break; | 2998 | break; |
2999 | case RADEON_PARAM_IRQ_NR: | 2999 | case RADEON_PARAM_IRQ_NR: |
3000 | value = dev->irq; | 3000 | value = drm_dev_to_irq(dev); |
3001 | break; | 3001 | break; |
3002 | case RADEON_PARAM_GART_BASE: | 3002 | case RADEON_PARAM_GART_BASE: |
3003 | value = dev_priv->gart_vm_start; | 3003 | value = dev_priv->gart_vm_start; |
diff --git a/drivers/gpu/drm/via/via_irq.c b/drivers/gpu/drm/via/via_irq.c index 1b966fbdb49f..665d319b927b 100644 --- a/drivers/gpu/drm/via/via_irq.c +++ b/drivers/gpu/drm/via/via_irq.c | |||
@@ -354,9 +354,6 @@ int via_wait_irq(struct drm_device *dev, void *data, struct drm_file *file_priv) | |||
354 | drm_via_irq_t *cur_irq = dev_priv->via_irqs; | 354 | drm_via_irq_t *cur_irq = dev_priv->via_irqs; |
355 | int force_sequence; | 355 | int force_sequence; |
356 | 356 | ||
357 | if (!dev->irq) | ||
358 | return -EINVAL; | ||
359 | |||
360 | if (irqwait->request.irq >= dev_priv->num_irqs) { | 357 | if (irqwait->request.irq >= dev_priv->num_irqs) { |
361 | DRM_ERROR("Trying to wait on unknown irq %d\n", | 358 | DRM_ERROR("Trying to wait on unknown irq %d\n", |
362 | irqwait->request.irq); | 359 | irqwait->request.irq); |
diff --git a/drivers/gpu/drm/via/via_mm.c b/drivers/gpu/drm/via/via_mm.c index e64094916e4f..f694cb5ededc 100644 --- a/drivers/gpu/drm/via/via_mm.c +++ b/drivers/gpu/drm/via/via_mm.c | |||
@@ -93,8 +93,7 @@ int via_final_context(struct drm_device *dev, int context) | |||
93 | /* Last context, perform cleanup */ | 93 | /* Last context, perform cleanup */ |
94 | if (dev->ctx_count == 1 && dev->dev_private) { | 94 | if (dev->ctx_count == 1 && dev->dev_private) { |
95 | DRM_DEBUG("Last Context\n"); | 95 | DRM_DEBUG("Last Context\n"); |
96 | if (dev->irq) | 96 | drm_irq_uninstall(dev); |
97 | drm_irq_uninstall(dev); | ||
98 | via_cleanup_futex(dev_priv); | 97 | via_cleanup_futex(dev_priv); |
99 | via_do_cleanup_map(dev); | 98 | via_do_cleanup_map(dev); |
100 | } | 99 | } |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 51ee72c962b1..90a9e0247d58 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -824,7 +824,6 @@ struct drm_device { | |||
824 | 824 | ||
825 | /** \name Context support */ | 825 | /** \name Context support */ |
826 | /*@{ */ | 826 | /*@{ */ |
827 | int irq; /**< Interrupt used by board */ | ||
828 | int irq_enabled; /**< True if irq handler is enabled */ | 827 | int irq_enabled; /**< True if irq handler is enabled */ |
829 | __volatile__ long context_flag; /**< Context swapping flag */ | 828 | __volatile__ long context_flag; /**< Context swapping flag */ |
830 | __volatile__ long interrupt_flag; /**< Interruption handler flag */ | 829 | __volatile__ long interrupt_flag; /**< Interruption handler flag */ |
@@ -915,6 +914,11 @@ struct drm_device { | |||
915 | 914 | ||
916 | }; | 915 | }; |
917 | 916 | ||
917 | static inline int drm_dev_to_irq(struct drm_device *dev) | ||
918 | { | ||
919 | return dev->pdev->irq; | ||
920 | } | ||
921 | |||
918 | static __inline__ int drm_core_check_feature(struct drm_device *dev, | 922 | static __inline__ int drm_core_check_feature(struct drm_device *dev, |
919 | int feature) | 923 | int feature) |
920 | { | 924 | { |