ref: 6512bbc67987b28f3acb1b1ca02c965d8e22d312
parent: 96857088f4e03e08ff36aee45a347c564347f226
author: cinap_lenrek <[email protected]>
date: Mon Feb 20 12:37:39 EST 2012
audiohda: ich8 support
--- a/sys/src/9/pc/audiohda.c
+++ b/sys/src/9/pc/audiohda.c
@@ -1346,6 +1346,7 @@
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 @@
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);