diff options
author | cinap_lenrek <cinap_lenrek@rei2.9hal> | 2012-02-20 17:37:39 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@rei2.9hal> | 2012-02-20 17:37:39 +0100 |
commit | 6512bbc67987b28f3acb1b1ca02c965d8e22d312 (patch) | |
tree | 69a43e26396af61e83fb84493b514b527b89522e /sys/src | |
parent | 96857088f4e03e08ff36aee45a347c564347f226 (diff) |
audiohda: ich8 support
Diffstat (limited to 'sys/src')
-rw-r--r-- | sys/src/9/pc/audiohda.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/src/9/pc/audiohda.c b/sys/src/9/pc/audiohda.c index 3fc2b2342..586d38324 100644 --- a/sys/src/9/pc/audiohda.c +++ b/sys/src/9/pc/audiohda.c @@ -1346,6 +1346,7 @@ hdamatch(Pcidev *p) while(p = pcimatch(p, 0, 0)) switch((p->vid << 16) | p->did){ case (0x8086 << 16) | 0x27d8: + case (0x8086 << 16) | 0x284b: /* Intel ICH8 */ case (0x1002 << 16) | 0x4383: /* ATI */ case (0x1002 << 16) | 0x7919: /* ATI HDMI */ return p; @@ -1428,9 +1429,13 @@ Found: irq = p->intl; tbdf = p->tbdf; - /* magic for ATI */ - if(p->vid == 0x1002) + if(p->vid == 0x1002){ + /* magic for ATI */ pcicfgw8(p, 0x42, pcicfgr8(p, 0x42) | 2); + } else { + /* TCSEL */ + pcicfgw8(p, 0x44, pcicfgr8(p, 0x44) & 0xf8); + } pcisetbme(p); pcisetpms(p, 0); |