summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2003-02-20 07:55:37 +0000
committerEric Anholt <anholt@freebsd.org>2003-02-20 07:55:37 +0000
commit3796b2c83e05fafe429086d05859b2f69e4994bc (patch)
treebb52e72120d54e7ba3fe28ab1722c6d7492f0907
parente54bfcf8275d7c1270c65beda3a58fb5973fcfff (diff)
Make the interrupt handlers INTR_MPSAFE. None of them require Giant.
-rw-r--r--bsd-core/drm_dma.c5
-rw-r--r--bsd/drm_dma.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/bsd-core/drm_dma.c b/bsd-core/drm_dma.c
index 2f540a1d..cde35a95 100644
--- a/bsd-core/drm_dma.c
+++ b/bsd-core/drm_dma.c
@@ -544,8 +544,13 @@ int DRM(irq_install)( drm_device_t *dev, int irq )
}
#ifdef __FreeBSD__
+#if __FreeBSD_version < 500000
retcode = bus_setup_intr(dev->device, dev->irqr, INTR_TYPE_TTY,
DRM(dma_service), dev, &dev->irqh);
+#else
+ retcode = bus_setup_intr(dev->device, dev->irqr, INTR_TYPE_TTY | INTR_MPSAFE,
+ DRM(dma_service), dev, &dev->irqh);
+#endif
if ( retcode ) {
#elif defined(__NetBSD__)
dev->irqh = pci_intr_establish(&dev->pa.pa_pc, dev->ih, IPL_TTY,
diff --git a/bsd/drm_dma.h b/bsd/drm_dma.h
index 2f540a1d..cde35a95 100644
--- a/bsd/drm_dma.h
+++ b/bsd/drm_dma.h
@@ -544,8 +544,13 @@ int DRM(irq_install)( drm_device_t *dev, int irq )
}
#ifdef __FreeBSD__
+#if __FreeBSD_version < 500000
retcode = bus_setup_intr(dev->device, dev->irqr, INTR_TYPE_TTY,
DRM(dma_service), dev, &dev->irqh);
+#else
+ retcode = bus_setup_intr(dev->device, dev->irqr, INTR_TYPE_TTY | INTR_MPSAFE,
+ DRM(dma_service), dev, &dev->irqh);
+#endif
if ( retcode ) {
#elif defined(__NetBSD__)
dev->irqh = pci_intr_establish(&dev->pa.pa_pc, dev->ih, IPL_TTY,