Author: glebius
Date: Mon Jun 24 09:20:14 2013
New Revision: 252148
URL: http://svnweb.freebsd.org/changeset/base/252148

Log:
  Merge r247911,r248187,r248254,r250797:
  
  Various quirks to enable headphones redirection on
  various Lenovo laptops: X220, X1, X1 Carbon, T420,
  T430, T430S, T520.

Modified:
  stable/9/sys/dev/sound/pci/hda/hdaa_patches.c
  stable/9/sys/dev/sound/pci/hda/hdac.h
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/sound/pci/hda/hdaa_patches.c
==============================================================================
--- stable/9/sys/dev/sound/pci/hda/hdaa_patches.c       Mon Jun 24 09:18:41 
2013        (r252147)
+++ stable/9/sys/dev/sound/pci/hda/hdaa_patches.c       Mon Jun 24 09:20:14 
2013        (r252148)
@@ -334,11 +334,34 @@ hdac_pin_patch(struct hdaa_widget *w)
                        break;
                }
        } else if (id == HDA_CODEC_CX20590 &&
-           subid == LENOVO_X220_SUBVENDOR) {
+           (subid == LENOVO_X1_SUBVENDOR ||
+           subid == LENOVO_X220_SUBVENDOR ||
+           subid == LENOVO_T420_SUBVENDOR ||
+           subid == LENOVO_T520_SUBVENDOR)) {
                switch (nid) {
                case 25:
                        patch = "as=1 seq=15";
                        break;
+               /* 
+                * Group onboard mic and headphone mic
+                * together.  Fixes onboard mic.
+                */
+               case 27:
+                       patch = "as=2 seq=15";
+                       break;
+               case 35:
+                       patch = "as=2";
+                       break;
+               }
+       } else if (id == HDA_CODEC_ALC269 &&
+           (subid == LENOVO_X1CRBN_SUBVENDOR ||
+           subid == LENOVO_T430_SUBVENDOR ||
+           subid == LENOVO_T430S_SUBVENDOR ||
+           subid == LENOVO_T530_SUBVENDOR)) {
+               switch (nid) {
+               case 21:
+                       patch = "as=1 seq=15";
+                       break;
                }
        }
 

Modified: stable/9/sys/dev/sound/pci/hda/hdac.h
==============================================================================
--- stable/9/sys/dev/sound/pci/hda/hdac.h       Mon Jun 24 09:18:41 2013        
(r252147)
+++ stable/9/sys/dev/sound/pci/hda/hdac.h       Mon Jun 24 09:20:14 2013        
(r252148)
@@ -220,8 +220,15 @@
 #define LENOVO_3KN200_SUBVENDOR        HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
 #define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
 #define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
+#define        LENOVO_X1_SUBVENDOR     HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8)
+#define        LENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9)
 #define LENOVO_X220_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
 #define LENOVO_X300_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
+#define        LENOVO_T420_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce)
+#define        LENOVO_T430_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3)
+#define        LENOVO_T430S_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb)
+#define        LENOVO_T520_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)
+#define        LENOVO_T530_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6)
 #define LENOVO_ALL_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
 
 /* Samsung */
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to