@@ -10999,6 +10999,17 @@ static void alc897_fixup_lenovo_headset_mic(struct hda_codec *codec,
10999
10999
}
11000
11000
}
11001
11001
11002
+ static void alc897_fixup_lenovo_headset_mode (struct hda_codec * codec ,
11003
+ const struct hda_fixup * fix , int action )
11004
+ {
11005
+ struct alc_spec * spec = codec -> spec ;
11006
+
11007
+ if (action == HDA_FIXUP_ACT_PRE_PROBE ) {
11008
+ spec -> parse_flags |= HDA_PINCFG_HEADSET_MIC ;
11009
+ spec -> gen .hp_automute_hook = alc897_hp_automute_hook ;
11010
+ }
11011
+ }
11012
+
11002
11013
static const struct coef_fw alc668_coefs [] = {
11003
11014
WRITE_COEF (0x01 , 0xbebe ), WRITE_COEF (0x02 , 0xaaaa ), WRITE_COEF (0x03 , 0x0 ),
11004
11015
WRITE_COEF (0x04 , 0x0180 ), WRITE_COEF (0x06 , 0x0 ), WRITE_COEF (0x07 , 0x0f80 ),
@@ -11082,6 +11093,8 @@ enum {
11082
11093
ALC897_FIXUP_LENOVO_HEADSET_MIC ,
11083
11094
ALC897_FIXUP_HEADSET_MIC_PIN ,
11084
11095
ALC897_FIXUP_HP_HSMIC_VERB ,
11096
+ ALC897_FIXUP_LENOVO_HEADSET_MODE ,
11097
+ ALC897_FIXUP_HEADSET_MIC_PIN2 ,
11085
11098
};
11086
11099
11087
11100
static const struct hda_fixup alc662_fixups [] = {
@@ -11508,6 +11521,19 @@ static const struct hda_fixup alc662_fixups[] = {
11508
11521
{ }
11509
11522
},
11510
11523
},
11524
+ [ALC897_FIXUP_LENOVO_HEADSET_MODE ] = {
11525
+ .type = HDA_FIXUP_FUNC ,
11526
+ .v .func = alc897_fixup_lenovo_headset_mode ,
11527
+ },
11528
+ [ALC897_FIXUP_HEADSET_MIC_PIN2 ] = {
11529
+ .type = HDA_FIXUP_PINS ,
11530
+ .v .pins = (const struct hda_pintbl []) {
11531
+ { 0x1a , 0x01a11140 }, /* use as headset mic, without its own jack detect */
11532
+ { }
11533
+ },
11534
+ .chained = true,
11535
+ .chain_id = ALC897_FIXUP_LENOVO_HEADSET_MODE
11536
+ },
11511
11537
};
11512
11538
11513
11539
static const struct snd_pci_quirk alc662_fixup_tbl [] = {
@@ -11560,6 +11586,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
11560
11586
SND_PCI_QUIRK (0x17aa , 0x32cb , "Lenovo ThinkCentre M70" , ALC897_FIXUP_HEADSET_MIC_PIN ),
11561
11587
SND_PCI_QUIRK (0x17aa , 0x32cf , "Lenovo ThinkCentre M950" , ALC897_FIXUP_HEADSET_MIC_PIN ),
11562
11588
SND_PCI_QUIRK (0x17aa , 0x32f7 , "Lenovo ThinkCentre M90" , ALC897_FIXUP_HEADSET_MIC_PIN ),
11589
+ SND_PCI_QUIRK (0x17aa , 0x3742 , "Lenovo TianYi510Pro-14IOB" , ALC897_FIXUP_HEADSET_MIC_PIN2 ),
11563
11590
SND_PCI_QUIRK (0x17aa , 0x38af , "Lenovo Ideapad Y550P" , ALC662_FIXUP_IDEAPAD ),
11564
11591
SND_PCI_QUIRK (0x17aa , 0x3a0d , "Lenovo Ideapad Y550" , ALC662_FIXUP_IDEAPAD ),
11565
11592
SND_PCI_QUIRK (0x1849 , 0x5892 , "ASRock B150M" , ALC892_FIXUP_ASROCK_MOBO ),
0 commit comments