aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Timofeev <timp87@gmail.com>2022-08-28 23:31:40 +0000
committerEd Maste <emaste@FreeBSD.org>2022-09-20 00:45:40 +0000
commit04c146afea26ea71c6f628ed94435740f87eda7e (patch)
tree040b20d4a83ff0a66853c0fe73324113e7fe2472
parent0d0c1ffcf4fc6d382887e89c5d8b0b7a270d0689 (diff)
downloadsrc-04c146afea26ea71c6f628ed94435740f87eda7e.tar.gz
src-04c146afea26ea71c6f628ed94435740f87eda7e.zip
hda: add patch for Framework laptop v2 headphone jack
Fix headphone (12th gen Intel laptops) and mic jack (both 11th and 12th gen) switching. PR: 262579 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36354 (cherry picked from commit d88dc1b0b9af4de5ecbe0cdae1cea6055c8c9ec8)
-rw-r--r--sys/dev/sound/pci/hda/hdaa_patches.c6
-rw-r--r--sys/dev/sound/pci/hda/hdac.h3
2 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c
index 0f5cfa87cc9d..c64a824d7d5e 100644
--- a/sys/dev/sound/pci/hda/hdaa_patches.c
+++ b/sys/dev/sound/pci/hda/hdaa_patches.c
@@ -323,11 +323,15 @@ hdac_pin_patch(struct hdaa_widget *w)
break;
}
} else if (id == HDA_CODEC_IDT92HD95B &&
- (subid == FRAMEWORK_LAPTOP_SUBVENDOR)) {
+ (subid == FRAMEWORK_LAPTOP_0001_SUBVENDOR ||
+ subid == FRAMEWORK_LAPTOP_0002_SUBVENDOR)) {
switch (nid) {
case 10:
patch_str = "as=1 seq=15 color=Black loc=Left";
break;
+ case 11:
+ patch_str = "as=3 seq=15 color=Black loc=Left";
+ break;
}
} else {
/*
diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h
index 8e7990acd73c..c4aab1fc12cc 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -512,7 +512,8 @@
/* Framework */
#define FRAMEWORK_VENDORID 0xf111
-#define FRAMEWORK_LAPTOP_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001)
+#define FRAMEWORK_LAPTOP_0001_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001)
+#define FRAMEWORK_LAPTOP_0002_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0002)
/* All codecs you can eat... */
#define HDA_CODEC_CONSTRUCT(vendor, id) \