diff options
author | Eric Anholt <eric@anholt.net> | 2008-06-16 15:15:02 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-06-16 15:15:02 -0700 |
commit | e7424e4580159b0ac3e232674dff5c862e851dff (patch) | |
tree | 54e0357c1283bef1187d7d5a06511d8bcda5d094 /linux-core | |
parent | c847271179da382af52a6874e2edec586b88af75 (diff) |
[intel] Quirk away MSI support on 945G/GM.
The PCI caps register reports MSI support even though it isn't really there.
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/i915_drv.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/linux-core/i915_drv.c b/linux-core/i915_drv.c index 012ca822..e399f374 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); |