summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwain Ainsworth <oga@cvs.openbsd.org>2009-02-15 23:10:49 +0000
committerOwain Ainsworth <oga@cvs.openbsd.org>2009-02-15 23:10:49 +0000
commit60ac1dbc5b471d5cc762c7a0871d7dc2689d961c (patch)
tree09172b4733c90f1606e6bd42061f1835b869c479
parent26e7c8c183cbace919938f347b53c2e70c5c3c12 (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.c6
-rw-r--r--sys/dev/pci/drm/mach64_dma.c7
-rw-r--r--sys/dev/pci/drm/mga_dma.c8
-rw-r--r--sys/dev/pci/drm/r128_cce.c6
-rw-r--r--sys/dev/pci/drm/radeon_cp.c7
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)