aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Michaud-Boudreault <pitwuu@gmail.com>2021-05-19 14:38:34 +0000
committerEd Maste <emaste@FreeBSD.org>2022-01-23 20:04:25 +0000
commit45f0e5710509c510955c56a1b3e7d0e392407b0d (patch)
tree2d88eedd5dff1ba25d874c3b0479a88e6a7da0ce
parent8a5b4859c7fcefac7db611ef38450ef0a66d68a8 (diff)
downloadsrc-45f0e5710509c510955c56a1b3e7d0e392407b0d.tar.gz
src-45f0e5710509c510955c56a1b3e7d0e392407b0d.zip
sound: add patch for Lenovo Legion 5 AMD
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30333
-rw-r--r--sys/dev/sound/pci/hda/hdaa_patches.c10
-rw-r--r--sys/dev/sound/pci/hda/hdac.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c
index 45577819e897..f824472fc9a2 100644
--- a/sys/dev/sound/pci/hda/hdaa_patches.c
+++ b/sys/dev/sound/pci/hda/hdaa_patches.c
@@ -312,6 +312,16 @@ hdac_pin_patch(struct hdaa_widget *w)
patch_str = "as=1 seq=15";
break;
}
+ } else if (id == HDA_CODEC_ALC257 &&
+ (subid == LENOVO_L5AMD_SUBVENDOR)) {
+ switch (nid) {
+ case 20:
+ patch_str = "as=1 seq=0";
+ break;
+ case 33:
+ patch_str = "as=1 seq=15";
+ break;
+ }
} else {
/*
* loop over hdaa_model_pin_patch
diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h
index 37744065fdc1..2c05033aa3ad 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -360,6 +360,7 @@
#define LENOVO_X230T_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2203)
#define LENOVO_T431S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2208)
#define LENOVO_G580_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3977)
+#define LENOVO_L5AMD_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x381b)
#define LENOVO_3000_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)