git: 04c146afea26 - stable/13 - hda: add patch for Framework laptop v2 headphone jack

From: Ed Maste <emaste_at_FreeBSD.org>
Date: Tue, 20 Sep 2022 00:46:06 UTC
The branch stable/13 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=04c146afea26ea71c6f628ed94435740f87eda7e

commit 04c146afea26ea71c6f628ed94435740f87eda7e
Author:     Pavel Timofeev <timp87@gmail.com>
AuthorDate: 2022-08-28 23:31:40 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2022-09-20 00:45:40 +0000

    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)
---
 sys/dev/sound/pci/hda/hdaa_patches.c | 6 +++++-
 sys/dev/sound/pci/hda/hdac.h         | 3 ++-
 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) \