aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Margiolis <christos@FreeBSD.org>2026-05-25 11:40:05 +0000
committerChristos Margiolis <christos@FreeBSD.org>2026-05-26 10:32:56 +0000
commitc6cefcbbbb3fd5bbe9e0c36c8c553364d444e2d8 (patch)
tree5119d436f96e4ff17255636796e8a78d7955c84b
parentb97ee5e9ce7b5598be596ef51872c1136b20cf88 (diff)
snd_hda: Patch Dell WYSE 7040
https://forums.freebsd.org/threads/dell-wyse-7040-thin-client-intel-i5-6500te-built-in-sound-alc255-mini-how-to.102656/ Reported by: razif (on the forum) Sponsored by: The FreeBSD Foundation MFC after: 1 week
-rw-r--r--sys/dev/sound/pci/hda/hdaa_patches.c9
-rw-r--r--sys/dev/sound/pci/hda/hdac.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c
index d4267aae80f8..2f3a044195c4 100644
--- a/sys/dev/sound/pci/hda/hdaa_patches.c
+++ b/sys/dev/sound/pci/hda/hdaa_patches.c
@@ -328,6 +328,15 @@ hdac_pin_patch(struct hdaa_widget *w)
patch_str = "as=1 seq=15";
break;
}
+ } else if (id == HDA_CODEC_ALC255 && subid == DELL_WYSE7040_SUBVENDOR) {
+ switch (nid) {
+ case 20:
+ patch_str = "as=1 seq=0 device=Speaker";
+ break;
+ case 33:
+ patch_str = "as=1 seq=15 device=Headphones";
+ break;
+ }
} else if (id == HDA_CODEC_ALC256 && (subid == DELL_I7577_SUBVENDOR ||
subid == DELL_L7480_SUBVENDOR)) {
switch (nid) {
diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h
index 27d592242578..36fd7b6a60ab 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -282,6 +282,7 @@
#define DELL_164AID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164a)
#define DELL_164BID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164b)
#define DELL_I7577_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0802)
+#define DELL_WYSE7040_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0727)
#define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff)
/* Clevo */