| @@ -7450,7 +7450,6 @@ static void alc287_alc1318_playback_pcm_hook(struct hda_pcm_stream *hinfo, · 7449 unmodified lines |
| 7450 | struct snd_pcm_substream *substream, | 7450 | struct snd_pcm_substream *substream, |
| 7451 | int action) | 7451 | int action) |
| 7452 | { | 7452 | { |
| 7453 | alc_write_coef_idx(codec, 0x10, 0x8806); /* Change MLK to GPIO3 */ | | |
| 7454 | switch (action) { | 7453 | switch (action) { |
| 7455 | case HDA_GEN_PCM_ACT_OPEN: | 7454 | case HDA_GEN_PCM_ACT_OPEN: |
| 7456 | alc_write_coefex_idx(codec, 0x5a, 0x00, 0x954f); /* write gpio3 to high */ | 7455 | alc_write_coefex_idx(codec, 0x5a, 0x00, 0x954f); /* write gpio3 to high */ |
| @@ -7464,7 +7463,6 @@ static void alc287_alc1318_playback_pcm_hook(struct hda_pcm_stream *hinfo, · 7 unmodified lines |
| 7464 | static void alc287_s4_power_gpio3_default(struct hda_codec *codec) | 7463 | static void alc287_s4_power_gpio3_default(struct hda_codec *codec) |
| 7465 | { | 7464 | { |
| 7466 | if (is_s4_suspend(codec)) { | 7465 | if (is_s4_suspend(codec)) { |
| 7467 | alc_write_coef_idx(codec, 0x10, 0x8806); /* Change MLK to GPIO3 */ | | |
| 7468 | alc_write_coefex_idx(codec, 0x5a, 0x00, 0x554f); /* write gpio3 as default value */ | 7466 | alc_write_coefex_idx(codec, 0x5a, 0x00, 0x554f); /* write gpio3 as default value */ |
| 7469 | } | 7467 | } |
| 7470 | } | 7468 | } |
| @@ -7473,9 +7471,17 @@ static void alc287_fixup_lenovo_thinkpad_with_alc1318(struct hda_codec *codec, · 2 unmodified lines |
| 7473 | const struct hda_fixup *fix, int action) | 7471 | const struct hda_fixup *fix, int action) |
| 7474 | { | 7472 | { |
| 7475 | struct alc_spec *spec = codec->spec; | 7473 | struct alc_spec *spec = codec->spec; |
| | 7474 | static const struct coef_fw coefs[] = { |
| | 7475 | WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC300), |
| | 7476 | WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023), |
| | 7477 | WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC301), |
| | 7478 | WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023), |
| | 7479 | }; |
| 7476 | | 7480 | |
| 7477 | if (action != HDA_FIXUP_ACT_PRE_PROBE) | 7481 | if (action != HDA_FIXUP_ACT_PRE_PROBE) |
| 7478 | return; | 7482 | return; |
| | 7483 | alc_update_coef_idx(codec, 0x10, 1<<11, 1<<11); |
| | 7484 | alc_process_coef_fw(codec, coefs); |
| 7479 | spec->power_hook = alc287_s4_power_gpio3_default; | 7485 | spec->power_hook = alc287_s4_power_gpio3_default; |
| 7480 | spec->gen.pcm_playback_hook = alc287_alc1318_playback_pcm_hook; | 7486 | spec->gen.pcm_playback_hook = alc287_alc1318_playback_pcm_hook; |
| 7481 | } | 7487 | } |
| @@ -10496,6 +10502,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { · 3014 unmodified lines |
| 10496 | SND_PCI_QUIRK(0x103c, 0x8b59, "HP Elite mt645 G7 Mobile Thin Client U89", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), | 10502 | SND_PCI_QUIRK(0x103c, 0x8b59, "HP Elite mt645 G7 Mobile Thin Client U89", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), |
| 10497 | SND_PCI_QUIRK(0x103c, 0x8b5d, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), | 10503 | SND_PCI_QUIRK(0x103c, 0x8b5d, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), |
| 10498 | SND_PCI_QUIRK(0x103c, 0x8b5e, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), | 10504 | SND_PCI_QUIRK(0x103c, 0x8b5e, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), |
| | 10505 | SND_PCI_QUIRK(0x103c, 0x8b5f, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), |
| 10499 | SND_PCI_QUIRK(0x103c, 0x8b63, "HP Elite Dragonfly 13.5 inch G4", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED), | 10506 | SND_PCI_QUIRK(0x103c, 0x8b63, "HP Elite Dragonfly 13.5 inch G4", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED), |
| 10500 | SND_PCI_QUIRK(0x103c, 0x8b65, "HP ProBook 455 15.6 inch G10 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), | 10507 | SND_PCI_QUIRK(0x103c, 0x8b65, "HP ProBook 455 15.6 inch G10 Notebook PC", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), |
| 10501 | SND_PCI_QUIRK(0x103c, 0x8b66, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), | 10508 | SND_PCI_QUIRK(0x103c, 0x8b66, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), |
| @@ -11673,6 +11680,8 @@ static const struct snd_hda_pin_quirk alc269_fallback_pin_fixup_tbl[] = { · 1171 unmodified lines |
| 11673 | {0x1a, 0x40000000}), | 11680 | {0x1a, 0x40000000}), |
| 11674 | SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC2XX_FIXUP_HEADSET_MIC, | 11681 | SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC2XX_FIXUP_HEADSET_MIC, |
| 11675 | {0x19, 0x40000000}), | 11682 | {0x19, 0x40000000}), |
| | 11683 | SND_HDA_PIN_QUIRK(0x10ec0255, 0x1558, "Clevo", ALC2XX_FIXUP_HEADSET_MIC, |
| | 11684 | {0x19, 0x40000000}), |
| 11676 | {} | 11685 | {} |
| 11677 | }; | 11686 | }; |
| 11678 | | 11687 | |