diff options
author | Owain Ainsworth <oga@cvs.openbsd.org> | 2009-02-15 23:10:49 +0000 |
---|---|---|
committer | Owain Ainsworth <oga@cvs.openbsd.org> | 2009-02-15 23:10:49 +0000 |
commit | 60ac1dbc5b471d5cc762c7a0871d7dc2689d961c (patch) | |
tree | 09172b4733c90f1606e6bd42061f1835b869c479 | |
parent | 26e7c8c183cbace919938f347b53c2e70c5c3c12 (diff) |
The core drm code calls drm_irq_uninstall() when needed at lastclose.
Due to the fact that most of the drivers didn't keep their mmio regions
mapped from attach, all irq-using drm drivers have a hook in lastclose()
to remove the irq before it unmaps its registers. Since now they all
keep them mapped, this isn't an issue. Remove the redundant calls.
-rw-r--r-- | sys/dev/pci/drm/i915_dma.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/mach64_dma.c | 7 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_dma.c | 8 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_cce.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_cp.c | 7 |
5 files changed, 0 insertions, 34 deletions
diff --git a/sys/dev/pci/drm/i915_dma.c b/sys/dev/pci/drm/i915_dma.c index e3da1437e7a..bd607a30413 100644 --- a/sys/dev/pci/drm/i915_dma.c +++ b/sys/dev/pci/drm/i915_dma.c @@ -129,12 +129,6 @@ void i915_kernel_lost_context(struct drm_device * dev) static int i915_dma_cleanup(struct drm_device * dev) { drm_i915_private_t *dev_priv = dev->dev_private; - /* Make sure interrupts are disabled here because the uninstall ioctl - * may not have been called from userspace and after dev_private - * is freed, it's too late. - */ - if (dev->irq_enabled) - drm_irq_uninstall(dev); if (dev_priv->ring.virtual_start) { drm_core_ioremapfree(&dev_priv->ring.map); diff --git a/sys/dev/pci/drm/mach64_dma.c b/sys/dev/pci/drm/mach64_dma.c index 581feb7b9e4..8ea1fcba8db 100644 --- a/sys/dev/pci/drm/mach64_dma.c +++ b/sys/dev/pci/drm/mach64_dma.c @@ -1344,13 +1344,6 @@ int mach64_do_cleanup_dma(struct drm_device * dev) DRM_DEBUG("\n"); - /* Make sure interrupts are disabled here because the uninstall ioctl - * may not have been called from userspace and after dev_private - * is freed, it's too late. - */ - if (dev->irq_enabled) - drm_irq_uninstall(dev); - if (!dev_priv->is_pci) { if (dev_priv->ring_map) drm_core_ioremapfree(dev_priv->ring_map); diff --git a/sys/dev/pci/drm/mga_dma.c b/sys/dev/pci/drm/mga_dma.c index 5798718cb05..88a7c5b772e 100644 --- a/sys/dev/pci/drm/mga_dma.c +++ b/sys/dev/pci/drm/mga_dma.c @@ -875,14 +875,6 @@ static int mga_do_cleanup_dma(struct drm_device *dev, int full_cleanup) int err = 0; DRM_DEBUG("\n"); - /* Make sure interrupts are disabled here because the uninstall ioctl - * may not have been called from userspace and after dev_private - * is freed, it's too late. - */ - if (dev->irq_enabled) - drm_irq_uninstall(dev); - - if ((dev_priv->warp != NULL) && (dev_priv->warp->type != _DRM_CONSISTENT)) drm_core_ioremapfree(dev_priv->warp); diff --git a/sys/dev/pci/drm/r128_cce.c b/sys/dev/pci/drm/r128_cce.c index 9b033000b7a..272a9fe6713 100644 --- a/sys/dev/pci/drm/r128_cce.c +++ b/sys/dev/pci/drm/r128_cce.c @@ -566,12 +566,6 @@ int r128_do_cleanup_cce(struct drm_device * dev) { drm_r128_private_t *dev_priv = dev->dev_private; - /* Make sure interrupts are disabled here because the uninstall ioctl - * may not have been called from userspace - */ - if (dev->irq_enabled) - drm_irq_uninstall(dev); - #if __OS_HAS_AGP if (!dev_priv->is_pci) { if (dev_priv->cce_ring != NULL) diff --git a/sys/dev/pci/drm/radeon_cp.c b/sys/dev/pci/drm/radeon_cp.c index 6d5b8800051..cfe739786b5 100644 --- a/sys/dev/pci/drm/radeon_cp.c +++ b/sys/dev/pci/drm/radeon_cp.c @@ -1271,13 +1271,6 @@ radeon_do_cleanup_cp(struct drm_device *dev) drm_radeon_private_t *dev_priv = dev->dev_private; DRM_DEBUG("\n"); - /* Make sure interrupts are disabled here because the uninstall ioctl - * may not have been called from userspace and after dev_private - * is freed, it's too late. - */ - if (dev->irq_enabled) - drm_irq_uninstall(dev); - #if __OS_HAS_AGP if (dev_priv->flags & RADEON_IS_AGP) { if (dev_priv->cp_ring != NULL) |