summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorariff <ariff@FreeBSD.org>2007-06-10 23:01:40 +0000
committerariff <ariff@FreeBSD.org>2007-06-10 23:01:40 +0000
commit532a6856ededcca631ce6c87024395ba4d4818be (patch)
tree11e364428919c2ca5836b4af61ad0c990f44b148
parente9fc4edc4441a4cdc380539f97a90207de0cd092 (diff)
downloadFreeBSD-src-532a6856ededcca631ce6c87024395ba4d4818be.zip
FreeBSD-src-532a6856ededcca631ce6c87024395ba4d4818be.tar.gz
- Add codec id for ALC660 [1]
- Add codec id for AD1988B, along with fixing its line-in and other issues (with proper quirks). [2] Submitted by: [1] barbara.xxx1975@libero.it [2] Oliver Brandmueller ob@e-Gitt.NET MFC after: 3 days
-rw-r--r--sys/dev/sound/pci/hda/hdac.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 4968900..b71a164 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -80,7 +80,7 @@
#include "mixer_if.h"
-#define HDA_DRV_TEST_REV "20070505_0044"
+#define HDA_DRV_TEST_REV "20070611_0045"
#define HDA_WIDGET_PARSER_REV 1
SND_DECLARE_FILE("$FreeBSD$");
@@ -201,8 +201,10 @@ SND_DECLARE_FILE("$FreeBSD$");
#define ASUS_W6F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_W2J_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1971)
#define ASUS_F3JC_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1338)
+#define ASUS_M2V_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81e7)
#define ASUS_M2N_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x8234)
#define ASUS_M2NPVMX_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
+#define ASUS_P5BWD_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81ec)
#define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff)
/* IBM / Lenovo */
@@ -469,6 +471,7 @@ static const struct {
#define REALTEK_VENDORID 0x10ec
#define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260)
#define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262)
+#define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660)
#define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861)
#define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862)
#define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880)
@@ -484,6 +487,7 @@ static const struct {
#define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983)
#define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986)
#define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988)
+#define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b)
#define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff)
/* CMedia */
@@ -539,6 +543,7 @@ static const struct {
} hdac_codecs[] = {
{ HDA_CODEC_ALC260, "Realtek ALC260" },
{ HDA_CODEC_ALC262, "Realtek ALC262" },
+ { HDA_CODEC_ALC660, "Realtek ALC660" },
{ HDA_CODEC_ALC861, "Realtek ALC861" },
{ HDA_CODEC_ALC861VD, "Realtek ALC861-VD" },
{ HDA_CODEC_ALC880, "Realtek ALC880" },
@@ -550,6 +555,7 @@ static const struct {
{ HDA_CODEC_AD1983, "Analog Devices AD1983" },
{ HDA_CODEC_AD1986A, "Analog Devices AD1986A" },
{ HDA_CODEC_AD1988, "Analog Devices AD1988" },
+ { HDA_CODEC_AD1988B, "Analog Devices AD1988B" },
{ HDA_CODEC_CMI9880, "CMedia CMI9880" },
{ HDA_CODEC_STAC9221, "Sigmatel STAC9221" },
{ HDA_CODEC_STAC9221D, "Sigmatel STAC9221D" },
@@ -4065,6 +4071,8 @@ static const struct {
HDA_QUIRK_GPIO0 | HDA_QUIRK_GPIO1, 0 },
{ HDA_MATCH_ALL, HDA_CODEC_AD1988,
HDA_QUIRK_IVREF80, HDA_QUIRK_IVREF50 | HDA_QUIRK_IVREF100 },
+ { HDA_MATCH_ALL, HDA_CODEC_AD1988B,
+ HDA_QUIRK_IVREF80, HDA_QUIRK_IVREF50 | HDA_QUIRK_IVREF100 },
{ HDA_MATCH_ALL, HDA_CODEC_CXVENICE,
0, HDA_QUIRK_FORCESTEREO },
{ HDA_MATCH_ALL, HDA_CODEC_STACXXXX,
@@ -4223,6 +4231,7 @@ hdac_vendor_patch_parse(struct hdac_devinfo *devinfo)
}
break;
case HDA_CODEC_AD1988:
+ case HDA_CODEC_AD1988B:
/*w = hdac_widget_get(devinfo, 12);
if (w != NULL) {
w->selconn = 1;
OpenPOWER on IntegriCloud