summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@hobbes.lan>2008-07-17 12:30:57 -0700
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-07-17 12:30:57 -0700
commitb37a2a8ca82279468e3806dcf77d5fa7bdd0e874 (patch)
treed2962cf80ce367bb5893c1b34d8836c902129dbc /src
parentc4565a9811487402d899d0933cc63e27ffe1ff08 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/i830_quirks.c10
1 files 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;
}