summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2013-03-04 21:20:13 +0000
committermav <mav@FreeBSD.org>2013-03-04 21:20:13 +0000
commitaabe85e339b22a257dadc6e971522f380ccce637 (patch)
tree90c1b8f9b0535cd1e692e89c6ad948ea0a7bb9dc /sys/dev/sound
parentd11db422c662c0440d224e37ed2a4ada644281ea (diff)
downloadFreeBSD-src-aabe85e339b22a257dadc6e971522f380ccce637.zip
FreeBSD-src-aabe85e339b22a257dadc6e971522f380ccce637.tar.gz
Add quirk to enable headphones redirection on Lenovo X220.
PR: kern/174876 MFC after: 1 week
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pci/hda/hdaa_patches.c7
-rw-r--r--sys/dev/sound/pci/hda/hdac.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c
index 41d51d7..b6ac095 100644
--- a/sys/dev/sound/pci/hda/hdaa_patches.c
+++ b/sys/dev/sound/pci/hda/hdaa_patches.c
@@ -333,6 +333,13 @@ hdac_pin_patch(struct hdaa_widget *w)
patch = "as=1 seq=15";
break;
}
+ } else if (id == HDA_CODEC_CX20590 &&
+ subid == LENOVO_X220_SUBVENDOR) {
+ switch (nid) {
+ case 25:
+ patch = "as=1 seq=15";
+ break;
+ }
}
if (patch != NULL)
diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h
index 9f9d687..14b7dba 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -220,6 +220,7 @@
#define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
#define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
#define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
+#define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
#define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
OpenPOWER on IntegriCloud