summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@rei2.9hal>2012-02-20 17:37:39 +0100
committercinap_lenrek <cinap_lenrek@rei2.9hal>2012-02-20 17:37:39 +0100
commit6512bbc67987b28f3acb1b1ca02c965d8e22d312 (patch)
tree69a43e26396af61e83fb84493b514b527b89522e /sys/src
parent96857088f4e03e08ff36aee45a347c564347f226 (diff)
audiohda: ich8 support
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/9/pc/audiohda.c9
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);