From 242d3199f8d8a04aa29e33525cbe25f0f26d9bc8 Mon Sep 17 00:00:00 2001 From: glebius Date: Thu, 7 Mar 2013 08:00:04 +0000 Subject: Add quirks to enable headphones redirection on number of Lenovo laptops, namely X1, X1 Carbon, T420, T520. PR: misc/176656 Submitted by: Hiren Panchasar 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. --- sys/dev/sound/pci/hda/hdaa_patches.c | 12 +++++++++++- sys/dev/sound/pci/hda/hdac.h | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'sys/dev/sound') 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 */ -- cgit v1.1