The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4027e17c179573c428143d3c3cb2aeef3f446b42
commit 4027e17c179573c428143d3c3cb2aeef3f446b42 Author: Christos Margiolis <chris...@freebsd.org> AuthorDate: 2025-06-11 17:28:40 +0000 Commit: Christos Margiolis <chris...@freebsd.org> CommitDate: 2025-06-13 12:30:22 +0000 snd_hda: Patch Lenovo T420s PR: 222636 Tested by: verma...@interia.pl Sponsored by: The FreeBSD Foundation MFC after: 1 day (cherry picked from commit 84e73074412719ec83143fb514625c09d27f468c) --- sys/dev/sound/pci/hda/hdaa_patches.c | 16 ++++++++++++++++ sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 17 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index 233ba1ae8d13..ae609e60eea2 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -300,6 +300,22 @@ hdac_pin_patch(struct hdaa_widget *w) patch_str = "as=2"; break; } + } else if (id == HDA_CODEC_CX20590 && + subid == LENOVO_T420S_SUBVENDOR) { + switch (nid) { + case 25: + patch_str = "as=1 seq=15"; + break; + case 27: + patch_str = "as=2 seq=15"; + break; + case 31: + patch_str = "as=1 seq=0"; + break; + case 35: + patch_str = "as=2 seq=0"; + break; + } } else if (id == HDA_CODEC_ALC235 && subid == ASUS_GL553VE_SUBVENDOR) { switch (nid) { case 33: diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index cb383d3be498..e19508ea3535 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -373,6 +373,7 @@ #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) #define LENOVO_T400_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2) #define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce) +#define LENOVO_T420S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21d2) #define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) #define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) #define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)