svn commit: r351231 - head/sys/dev/sound/pci/hda

Jung-uk Kim jkim at FreeBSD.org
Mon Aug 19 21:30:13 UTC 2019


Author: jkim
Date: Mon Aug 19 21:30:12 2019
New Revision: 351231
URL: https://svnweb.freebsd.org/changeset/base/351231

Log:
  Fix sound on headset jack for Lenovo Thinkpad X1 Carbon Gen 6 (model 20KH).
  
  Note this commit was inspired by r350433.
  
  MFC after:	2 weeks

Modified:
  head/sys/dev/sound/pci/hda/hdaa_patches.c
  head/sys/dev/sound/pci/hda/hdac.h

Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdaa_patches.c	Mon Aug 19 21:21:32 2019	(r351230)
+++ head/sys/dev/sound/pci/hda/hdaa_patches.c	Mon Aug 19 21:30:12 2019	(r351231)
@@ -389,6 +389,13 @@ hdac_pin_patch(struct hdaa_widget *w)
 			patch = "as=1 seq=15";
 			break;
 		}
+	} else if (id == HDA_CODEC_ALC285 &&
+	    subid == LENOVO_X120KH_SUBVENDOR) {
+		switch (nid) {
+		case 33:
+			patch = "as=1 seq=15";
+			break;
+		}
 	} else if (id == HDA_CODEC_ALC269 &&
 	    subid == ASUS_UX31A_SUBVENDOR) {
 		switch (nid) {
@@ -771,16 +778,18 @@ hdaa_patch_direct(struct hdaa_devinfo *devinfo)
 		hda_command(dev, HDA_CMD_12BIT(0, devinfo->nid,
 		    0xf88, 0xc0));
 		break;
+	case HDA_CODEC_ALC255:
+	case HDA_CODEC_ALC256:
+	case HDA_CODEC_ALC285:
+		val = hdaa_read_coef(dev, 0x20, 0x46);
+		hdaa_write_coef(dev, 0x20, 0x46, val | 0x3000);
+		break;
 	case HDA_CODEC_ALC1150:
 		if (subid == 0xd9781462) {
 			/* Too low volume on MSI H170 GAMING M3. */
 			hdaa_write_coef(dev, 0x20, 0x07, 0x7cb);
 		}
 		break;
-	}
-	if (id == HDA_CODEC_ALC255 || id == HDA_CODEC_ALC256) {
-		val = hdaa_read_coef(dev, 0x20, 0x46);
-		hdaa_write_coef(dev, 0x20, 0x46, val|0x3000);
 	}
 	if (subid == APPLE_INTEL_MAC)
 		hda_command(dev, HDA_CMD_12BIT(0, devinfo->nid,

Modified: head/sys/dev/sound/pci/hda/hdac.h
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.h	Mon Aug 19 21:21:32 2019	(r351230)
+++ head/sys/dev/sound/pci/hda/hdac.h	Mon Aug 19 21:30:12 2019	(r351231)
@@ -257,6 +257,7 @@
 #define	LENOVO_X1_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8)
 #define	LENOVO_X1CRBN_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9)
 #define	LENOVO_X120BS_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x2227)
+#define	LENOVO_X120KH_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x225c)
 #define LENOVO_X220_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
 #define LENOVO_X300_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
 #define	LENOVO_T400_SUBVENDOR	HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2)


More information about the svn-src-all mailing list