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

Alexander Motin mav at FreeBSD.org
Sun Jul 27 08:37:42 UTC 2014


On 27.07.2014 11:27, Adrian Chadd wrote:
> actually, scratch that, I had some test hacks in there. Try:
> 
> hdaa0: Patched pins configuration:
> hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
> hdaa0: 22 022140f0 15 0  Headphones    Jack  1/8     Front      Green   0
> hdaa0: 23 61a190f0 15 0  Mic           None  1/8     Ext-Rear   Pink    0 DISA
> hdaa0: 24 02a190f0 15 0  Mic           Jack  1/8     Front      Pink    0
> hdaa0: 25 40f000f0 15 0  Other         None  Unknown 0x00       Unknown 0 DISA
> hdaa0: 26 901701f0 15 0  Speaker       Fixed Analog  Internal   Unknown 1
> hdaa0: 27 40f001f0 15 0  Other         None  Unknown 0x00       Unknown 1 DISA
> hdaa0: 28 40f001f0 15 0  Other         None  Unknown 0x00       Unknown 1 DISA
> hdaa0: 29 90a601f0 15 0  Mic           Fixed Digital Internal   Unknown 1
> hdaa0: 4 associations found:
> hdaa0: Association 0 (15) out:
> hdaa0:  Pin nid=22 seq=0
> hdaa0: Association 1 (15) in:
> hdaa0:  Pin nid=24 seq=0
> hdaa0: Association 2 (15) out:
> hdaa0:  Pin nid=26 seq=0
> hdaa0: Association 3 (15) in:
> hdaa0:  Pin nid=29 seq=0

Yes, that is what I'd like to see. Your situation looks a bit more
complicated, requiring some bigger patch:

Index: hdaa_patches.c
===================================================================
--- hdaa_patches.c      (revision 269151)
+++ hdaa_patches.c      (working copy)
@@ -346,6 +346,22 @@ hdac_pin_patch(struct hdaa_widget *w)
                        patch = "as=1 seq=15";
                        break;
                }
+       } else if (id == HDA_CODEC_CX20561 &&
+           subid == LENOVO_ZZZ_SUBVENDOR) {
+               switch (nid) {
+               case 22:
+                       patch = "as=1 seq=15";
+                       break;
+               case 24:
+                       patch = "as=2 seq=14";
+                       break;
+               case 26:
+                       patch = "as=1 seq=0";
+                       break;
+               case 29:
+                       patch = "as=2 seq=0";
+                       break;
+               }
        } else if (id == HDA_CODEC_CX20590 &&
            (subid == LENOVO_X1_SUBVENDOR ||
            subid == LENOVO_X220_SUBVENDOR ||
Index: hdac.h
===================================================================
--- hdac.h      (revision 269151)
+++ hdac.h      (working copy)
@@ -236,6 +236,7 @@
 #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_ZZZ_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2)
 #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)

-- 
Alexander Motin


More information about the svn-src-head mailing list