diff --git a/sys/src/9/pc/audiohda.c b/sys/src/9/pc/audiohda.c index e5ebd27e2..f2f0f0af3 100644 --- a/sys/src/9/pc/audiohda.c +++ b/sys/src/9/pc/audiohda.c @@ -1394,6 +1394,8 @@ hdamatch(Pcidev *p) case (0x8086 << 16) | 0x284b: /* Intel ICH8 */ case (0x8086 << 16) | 0x293f: /* Intel ICH9 (untested) */ case (0x8086 << 16) | 0x293e: /* Intel P35 (untested) */ + case (0x8086 << 16) | 0x811b: /* Intel SCH (Pouslbo) */ + case (0x8086 << 16) | 0x080a: /* Intel SCH (Oaktrail) */ case (0x10de << 16) | 0x026c: /* NVidia MCP51 (untested) */ case (0x10de << 16) | 0x0371: /* NVidia MCP55 (untested) */ @@ -1498,6 +1500,14 @@ Found: pcicfgw16(p, 0x40, pcicfgr16(p, 0x40) | 0x10); pcicfgw32(p, PciBAR1, 0); } + if(p->vid == 0x8086){ + /* magic for Intel */ + switch(p->did){ + case 0x811b: /* SCH */ + case 0x080a: + pcicfgw16(p, 0x78, pcicfgr16(p, 0x78) & ~0x800); + } + } if(p->vid == 0x1002){ /* magic for ATI */ pcicfgw8(p, 0x42, pcicfgr8(p, 0x42) | 0x02);