From b9b8e8f3cc61a37cce2ae48957514ce6a4f30566 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Tue, 24 Feb 2009 15:47:35 -0600 Subject: FreeBSD: Turn on msi There is a blacklist for devices that advertise the capability, but don't work properly. --- bsd-core/drm_irq.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'bsd-core/drm_irq.c') diff --git a/bsd-core/drm_irq.c b/bsd-core/drm_irq.c index 8db1ab81..8a9d3449 100644 --- a/bsd-core/drm_irq.c +++ b/bsd-core/drm_irq.c @@ -169,13 +169,6 @@ int drm_irq_install(struct drm_device *dev) DRM_UNLOCK(); /* Install handler */ - dev->irqrid = 0; - dev->irqr = bus_alloc_resource_any(dev->device, SYS_RES_IRQ, - &dev->irqrid, RF_SHAREABLE); - if (!dev->irqr) { - retcode = ENOENT; - goto err; - } #if __FreeBSD_version >= 700031 retcode = bus_setup_intr(dev->device, dev->irqr, INTR_TYPE_TTY | INTR_MPSAFE, @@ -197,25 +190,17 @@ int drm_irq_install(struct drm_device *dev) err: DRM_LOCK(); dev->irq_enabled = 0; - if (dev->irqrid != 0) { - bus_release_resource(dev->device, SYS_RES_IRQ, dev->irqrid, - dev->irqr); - dev->irqrid = 0; - } DRM_UNLOCK(); + return retcode; } int drm_irq_uninstall(struct drm_device *dev) { - int irqrid; - if (!dev->irq_enabled) return EINVAL; dev->irq_enabled = 0; - irqrid = dev->irqrid; - dev->irqrid = 0; DRM_DEBUG("irq=%d\n", dev->irq); @@ -223,7 +208,6 @@ int drm_irq_uninstall(struct drm_device *dev) DRM_UNLOCK(); bus_teardown_intr(dev->device, dev->irqr, dev->irqh); - bus_release_resource(dev->device, SYS_RES_IRQ, irqrid, dev->irqr); DRM_LOCK(); drm_vblank_cleanup(dev); -- cgit v1.2.3