summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/audiohda.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-08-26 17:16:03 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-08-26 17:16:03 +0200
commit25070f33fbef3a7f9ada2a6488fd89fe3b555f86 (patch)
treecdd1e4f665e2c371614bd8e845cbac3f1a80b7c4 /sys/src/9/pc/audiohda.c
parent681f273489506895ac9d90b6adf955fdc20ce576 (diff)
audiohda: add intel sch models (thanks puddingpimp on #cat-v for sending a patch)
Diffstat (limited to 'sys/src/9/pc/audiohda.c')
-rw-r--r--sys/src/9/pc/audiohda.c10
1 files changed, 10 insertions, 0 deletions
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);