diff options
| author | Christos Margiolis <christos@FreeBSD.org> | 2025-03-25 19:13:49 +0000 |
|---|---|---|
| committer | Christos Margiolis <christos@FreeBSD.org> | 2025-04-01 13:20:05 +0000 |
| commit | e431b38b0f77a6deff9f6f214fe520b689c38bd2 (patch) | |
| tree | a5a826c8c99ef25523a2dcbb743e7ea08f40a892 | |
| parent | e683e7e0f887216b52dfd64db226f0a6d3ce853a (diff) | |
snd_hda: Patch Framework 16 AMD
Reported by: jrm
Tested by: jrm
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Reviewed by: jrm
Differential Revision: https://reviews.freebsd.org/D49416
(cherry picked from commit 2f1f523a45fb7f9fddd36a3402edbf7b111996c3)
| -rw-r--r-- | sys/dev/sound/pci/hda/hdaa_patches.c | 14 | ||||
| -rw-r--r-- | sys/dev/sound/pci/hda/hdac.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index 8ad1c845c254..233ba1ae8d13 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -341,6 +341,20 @@ hdac_pin_patch(struct hdaa_widget *w) break; } } else if (id == HDA_CODEC_ALC295 && + subid == FRAMEWORK_LAPTOP_0005_SUBVENDOR) { + switch (nid) { + case 20: + /* + * This pin is a duplicate of pin 23 (both as=1 seq=0), + * which ends up in the driver disabling the + * association altogether. Since sound quality from pin + * 23 seems to be better, configure this one as a back + * speaker. + */ + patch_str = "as=1 seq=2"; + break; + } + } else if (id == HDA_CODEC_ALC295 && subid == FRAMEWORK_LAPTOP_0006_SUBVENDOR) { switch (nid) { case 33: diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index 9b11dcba32a8..cb383d3be498 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -530,6 +530,7 @@ #define FRAMEWORK_LAPTOP_0001_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001) #define FRAMEWORK_LAPTOP_0002_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0002) #define FRAMEWORK_LAPTOP_0003_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0003) +#define FRAMEWORK_LAPTOP_0005_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0005) #define FRAMEWORK_LAPTOP_0006_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0006) /* All codecs you can eat... */ |
