diff options
author | glebius <glebius@FreeBSD.org> | 2013-03-07 08:00:04 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2013-03-07 08:00:04 +0000 |
commit | 242d3199f8d8a04aa29e33525cbe25f0f26d9bc8 (patch) | |
tree | 054ede4a438d5e312266581bbedb4c19ba3187ab /sys/dev/sound | |
parent | a02ad4ada577b7f3f0afcd12476c8dc46b46bbeb (diff) | |
download | FreeBSD-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.c | 12 | ||||
-rw-r--r-- | sys/dev/sound/pci/hda/hdac.h | 4 |
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 */ |