summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2013-03-07 08:00:04 +0000
committerglebius <glebius@FreeBSD.org>2013-03-07 08:00:04 +0000
commit242d3199f8d8a04aa29e33525cbe25f0f26d9bc8 (patch)
tree054ede4a438d5e312266581bbedb4c19ba3187ab /sys/dev/sound
parenta02ad4ada577b7f3f0afcd12476c8dc46b46bbeb (diff)
downloadFreeBSD-src-242d3199f8d8a04aa29e33525cbe25f0f26d9bc8.zip
FreeBSD-src-242d3199f8d8a04aa29e33525cbe25f0f26d9bc8.tar.gz
Add quirks to enable headphones redirection on number of Lenovo
laptops, namely X1, X1 Carbon, T420, T520. PR: misc/176656 Submitted by: Hiren Panchasar <hiren.panchasara gmail.com> Tested by: glebius, X1 Carbon Tested by: osa, X1 Tested by: Hiren Panchasar, T420 Tested by: sbruno, T520 Reviewed by: mav Sponsored by: Nginx, Inc.
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pci/hda/hdaa_patches.c12
-rw-r--r--sys/dev/sound/pci/hda/hdac.h4
2 files changed, 15 insertions, 1 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c
index b6ac095..ef3124a 100644
--- a/sys/dev/sound/pci/hda/hdaa_patches.c
+++ b/sys/dev/sound/pci/hda/hdaa_patches.c
@@ -334,12 +334,22 @@ hdac_pin_patch(struct hdaa_widget *w)
break;
}
} else if (id == HDA_CODEC_CX20590 &&
- subid == LENOVO_X220_SUBVENDOR) {
+ (subid == LENOVO_X1_SUBVENDOR ||
+ subid == LENOVO_X220_SUBVENDOR ||
+ subid == LENOVO_T420_SUBVENDOR ||
+ subid == LENOVO_T520_SUBVENDOR)) {
switch (nid) {
case 25:
patch = "as=1 seq=15";
break;
}
+ } else if (id == HDA_CODEC_ALC269 &&
+ subid == LENOVO_X1CRBN_SUBVENDOR) {
+ switch (nid) {
+ case 21:
+ 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 14b7dba..e82b6ae 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -220,8 +220,12 @@
#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_X1_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8)
+#define LENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9)
#define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
#define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
+#define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce)
+#define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)
#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
/* Samsung */
OpenPOWER on IntegriCloud