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)

Reply via email to