From b37a2a8ca82279468e3806dcf77d5fa7bdd0e874 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Thu, 17 Jul 2008 12:30:57 -0700 Subject: [PATCH] Don't disable pipe A on 855 chips It needs to stay enabled or we may see hangs when trying to re-enable it (say at VT switch time). Fixes FDO bug #15168. --- src/i830_quirks.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/i830_quirks.c b/src/i830_quirks.c index 5eb01be5..3becf357 100644 --- a/src/i830_quirks.c +++ b/src/i830_quirks.c @@ -309,6 +309,9 @@ static i830_quirk i830_quirk_list[] = { /* Littlebit Sepia X35 (rebranded Asus Z37E) (See LP: #201257) */ { PCI_CHIP_I965_GM, 0x1043, 0x8265, quirk_ignore_tv }, + /* 855 & before need to leave pipe A & dpll A up */ + { PCI_CHIP_I855_GM, SUBSYS_ANY, SUBSYS_ANY, quirk_pipea_force }, + { 0, 0, 0, NULL }, }; @@ -325,9 +328,10 @@ void i830_fixup_devices(ScrnInfoPtr scrn) while (p && p->chipType != 0) { if (DEVICE_ID(pI830->PciInfo) == p->chipType && - SUBVENDOR_ID(pI830->PciInfo) == p->subsysVendor && - (SUBSYS_ID(pI830->PciInfo) == p->subsysCard || - p->subsysCard == SUBSYS_ANY)) + (SUBVENDOR_ID(pI830->PciInfo) == p->subsysVendor || + p->subsysVendor == SUBSYS_ANY) && + (SUBSYS_ID(pI830->PciInfo) == p->subsysCard || + p->subsysCard == SUBSYS_ANY)) p->hook(pI830); ++p; }