From: Eric Anholt Date: Mon, 16 Jun 2008 22:15:02 +0000 (-0700) Subject: [intel] Quirk away MSI support on 945G/GM. X-Git-Tag: submit/1.0/20121108.012404~757^2~46 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7424e4580159b0ac3e232674dff5c862e851dff;p=profile%2Fivi%2Flibdrm.git [intel] Quirk away MSI support on 945G/GM. The PCI caps register reports MSI support even though it isn't really there. --- diff --git a/linux-core/i915_drv.c b/linux-core/i915_drv.c index 012ca82..e399f37 100644 --- a/linux-core/i915_drv.c +++ b/linux-core/i915_drv.c @@ -628,7 +628,16 @@ static int probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - (void) pci_enable_msi(pdev); + /* On the 945G/GM, the chipset reports the MSI capability on the + * integrated graphics even though the support isn't actually there + * according to the published specs. It doesn't appear to function + * correctly in testing on 945G. + * This may be a side effect of MSI having been made available for PEG + * and the registers being closely associated. + */ + if (pdev->device != 0x2772 && pdev->device != 0x27A2) + (void )pci_enable_msi(pdev); + ret = drm_get_dev(pdev, ent, &driver); if (ret && pdev->msi_enabled) pci_disable_msi(pdev);