Geert Hedde Bosman
2011-04-17 20:08:56 UTC
Hi,
i successfully managed to add the Intel HD Audio Cougar Point codec of my new Sandy Bridge motherboard to OSS4. The codec is the ALC892 from Realtek ,which appears to be very similar to the ALC889. I use Linux Ubuntu 10.04 as my OS.
This is the output of lspci -s1b -vnn:
00:1b.0 Audio device [0403]: Intel Corporation Cougar Point High Definition Audio Controller [8086:1c20] (rev 04)
Subsystem: Micro-Star International Co., Ltd. Device [1462:7673]
Flags: bus master, fast devsel, latency 0, IRQ 22
Memory at fe700000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [130] Root Complex Link
Kernel driver in use: oss_hdaudio
I applied the following patches to OSS4.2 build 2004:
diff -r -u oss-v4.2-build2004-src-gpl/devlists/Linux /usr/local/src/oss-v4.2-build2004-src-gpl/devlists/Linux
--- oss-v4.2-build2004-src-gpl/devlists/Linux 2011-01-05 21:08:25.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/devlists/Linux 2011-04-09 11:59:04.256697114 +0200
@@ -69,6 +69,7 @@
oss_geode pci100b,503 National Semiconductor Geode SC1200
oss_geode pci1078,103 National Semiconductor Geode CS5530
oss_geode pci1022,2093 AMD Geode CS5536
+oss_hdaudio pci8086,1c20 Intel High Definition Audio (CPT)
oss_hdaudio pci8086,2668 Intel High Definition Audio (ICH6)
oss_hdaudio pci8086,27d8 Intel High Definition Audio (ICH7)
oss_hdaudio pci8086,269a Intel High Definition Audio (ESB2)
diff -r -u oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices
--- oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices 2011-01-05 02:33:07.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices 2011-04-17 18:58:03.468056002 +0200
@@ -7,6 +7,7 @@
oss_hdaudio pci8086,3a3e Intel High Definition Audio (ICH10)
oss_hdaudio pci8086,3a6e Intel High Definition Audio (ICH10)
oss_hdaudio pci8086,3b56 Intel High Definition Audio (PCH)
+oss_hdaudio pci8086,1c20 Intel High Definition Audio (CPT)
oss_hdaudio pci10de,26c Nvidia High Definition Audio (MCP51)
oss_hdaudio pci10de,371 Nvidia High Definition Audio (MCP55)
oss_hdaudio pci10de,3e4 Nvidia High Definition Audio (MCP61)
diff -r -u oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h
--- oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h 2011-01-05 22:06:27.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h 2011-04-17 20:40:01.587096801 +0200
@@ -843,6 +843,7 @@
{0x10ec0885, "ALC885", VF_ALC88X_HACK, (char **) &alc883remap},
{0x10ec0888, "ALC888", VF_ALC88X_HACK, (char **) &alc883remap},
{0x10ec0889, "ALC889", VF_ALC88X_HACK, (char **) &alc883remap},
+ {0x10ec0892, "ALC892", VF_ALC88X_HACK, (char **) &alc883remap},
/* CMedia HDA codecs */
{0x13f69880, "CMI9880", VF_NONE, (char **) &cmi9880remap},
diff -r -u oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c
--- oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c 2011-01-05 22:06:27.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c 2011-04-17 17:25:51.785880000 +0200
@@ -32,6 +32,7 @@
#define INTEL_DEVICE_ICH10_B 0x3a6e
#define INTEL_DEVICE_PCH 0x3b56
#define INTEL_DEVICE_P35 0x293e
+#define INTEL_DEVICE_CPT 0x1c20
#define NVIDIA_VENDOR_ID 0x10de
#define NVIDIA_DEVICE_MCP51 0x026c
@@ -1821,6 +1822,7 @@
case INTEL_DEVICE_ICH10:
case INTEL_DEVICE_ICH10_B:
case INTEL_DEVICE_PCH:
+ case INTEL_DEVICE_CPT:
devc->chip_name = "Intel HD Audio";
break;
As you can see, it is 5 lines of code that i had to add.
kind regards,
Geert
i successfully managed to add the Intel HD Audio Cougar Point codec of my new Sandy Bridge motherboard to OSS4. The codec is the ALC892 from Realtek ,which appears to be very similar to the ALC889. I use Linux Ubuntu 10.04 as my OS.
This is the output of lspci -s1b -vnn:
00:1b.0 Audio device [0403]: Intel Corporation Cougar Point High Definition Audio Controller [8086:1c20] (rev 04)
Subsystem: Micro-Star International Co., Ltd. Device [1462:7673]
Flags: bus master, fast devsel, latency 0, IRQ 22
Memory at fe700000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [130] Root Complex Link
Kernel driver in use: oss_hdaudio
I applied the following patches to OSS4.2 build 2004:
diff -r -u oss-v4.2-build2004-src-gpl/devlists/Linux /usr/local/src/oss-v4.2-build2004-src-gpl/devlists/Linux
--- oss-v4.2-build2004-src-gpl/devlists/Linux 2011-01-05 21:08:25.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/devlists/Linux 2011-04-09 11:59:04.256697114 +0200
@@ -69,6 +69,7 @@
oss_geode pci100b,503 National Semiconductor Geode SC1200
oss_geode pci1078,103 National Semiconductor Geode CS5530
oss_geode pci1022,2093 AMD Geode CS5536
+oss_hdaudio pci8086,1c20 Intel High Definition Audio (CPT)
oss_hdaudio pci8086,2668 Intel High Definition Audio (ICH6)
oss_hdaudio pci8086,27d8 Intel High Definition Audio (ICH7)
oss_hdaudio pci8086,269a Intel High Definition Audio (ESB2)
diff -r -u oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices
--- oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices 2011-01-05 02:33:07.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/.devices 2011-04-17 18:58:03.468056002 +0200
@@ -7,6 +7,7 @@
oss_hdaudio pci8086,3a3e Intel High Definition Audio (ICH10)
oss_hdaudio pci8086,3a6e Intel High Definition Audio (ICH10)
oss_hdaudio pci8086,3b56 Intel High Definition Audio (PCH)
+oss_hdaudio pci8086,1c20 Intel High Definition Audio (CPT)
oss_hdaudio pci10de,26c Nvidia High Definition Audio (MCP51)
oss_hdaudio pci10de,371 Nvidia High Definition Audio (MCP55)
oss_hdaudio pci10de,3e4 Nvidia High Definition Audio (MCP61)
diff -r -u oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h
--- oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h 2011-01-05 22:06:27.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/hdaudio_codecids.h 2011-04-17 20:40:01.587096801 +0200
@@ -843,6 +843,7 @@
{0x10ec0885, "ALC885", VF_ALC88X_HACK, (char **) &alc883remap},
{0x10ec0888, "ALC888", VF_ALC88X_HACK, (char **) &alc883remap},
{0x10ec0889, "ALC889", VF_ALC88X_HACK, (char **) &alc883remap},
+ {0x10ec0892, "ALC892", VF_ALC88X_HACK, (char **) &alc883remap},
/* CMedia HDA codecs */
{0x13f69880, "CMI9880", VF_NONE, (char **) &cmi9880remap},
diff -r -u oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c
--- oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c 2011-01-05 22:06:27.000000000 +0100
+++ /usr/local/src/oss-v4.2-build2004-src-gpl/kernel/drv/oss_hdaudio/oss_hdaudio.c 2011-04-17 17:25:51.785880000 +0200
@@ -32,6 +32,7 @@
#define INTEL_DEVICE_ICH10_B 0x3a6e
#define INTEL_DEVICE_PCH 0x3b56
#define INTEL_DEVICE_P35 0x293e
+#define INTEL_DEVICE_CPT 0x1c20
#define NVIDIA_VENDOR_ID 0x10de
#define NVIDIA_DEVICE_MCP51 0x026c
@@ -1821,6 +1822,7 @@
case INTEL_DEVICE_ICH10:
case INTEL_DEVICE_ICH10_B:
case INTEL_DEVICE_PCH:
+ case INTEL_DEVICE_CPT:
devc->chip_name = "Intel HD Audio";
break;
As you can see, it is 5 lines of code that i had to add.
kind regards,
Geert
--
gr.
Geert Hedde
NEU: FreePhone - kostenlos mobil telefonieren und surfen!
Jetzt informieren: http://www.gmx.net/de/go/freephone
gr.
Geert Hedde
NEU: FreePhone - kostenlos mobil telefonieren und surfen!
Jetzt informieren: http://www.gmx.net/de/go/freephone