From 45de2347c45824f78c720c8361e952166cc39f6f Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Fri, 27 Feb 2009 23:50:55 +0000 Subject: [PATCH] Add a tuneable to allow disabling msi on drm at runtime. Suggested by: jhb@ MFC after: 2 weeks --- sys/dev/drm/drm_drv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/drm/drm_drv.c b/sys/dev/drm/drm_drv.c index cc53e3063d74..0b22491337e5 100644 --- a/sys/dev/drm/drm_drv.c +++ b/sys/dev/drm/drm_drv.c @@ -134,6 +134,9 @@ static struct cdevsw drm_cdevsw = { .d_flags = D_TRACKCLOSE }; +int drm_msi = 1; /* Enable by default. */ +TUNABLE_INT("hw.drm.msi", &drm_msi); + static struct drm_msi_blacklist_entry drm_msi_blacklist[] = { {0x8086, 0x2772}, /* Intel i945G */ \ {0x8086, 0x27A2}, /* Intel i945GM */ \ @@ -222,7 +225,8 @@ int drm_attach(device_t nbdev, drm_pci_id_list_t *idlist) dev->pci_vendor = pci_get_vendor(dev->device); dev->pci_device = pci_get_device(dev->device); - if (!drm_msi_is_blacklisted(dev->pci_vendor, dev->pci_device)) { + if (drm_msi && + !drm_msi_is_blacklisted(dev->pci_vendor, dev->pci_device)) { msicount = pci_msi_count(dev->device); DRM_DEBUG("MSI count = %d\n", msicount); if (msicount > 1)