mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-09-14 16:46:19 +10:00
ALSA: hda/realtek - Fixed ASUS platform headset Mic issue
ASUS platform Headset Mic was disable by default. Assigned verb table for Mic pin will enable it. Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/1155d914c20c40569f56d36c79254879@realtek.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5dedc9f53e
commit
c8c0a03ec1
@ -7078,6 +7078,24 @@ static void alc287_fixup_bind_dacs(struct hda_codec *codec,
|
|||||||
0x0); /* Make sure 0x14 was disable */
|
0x0); /* Make sure 0x14 was disable */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Fix none verb table of Headset Mic pin */
|
||||||
|
static void alc_fixup_headset_mic(struct hda_codec *codec,
|
||||||
|
const struct hda_fixup *fix, int action)
|
||||||
|
{
|
||||||
|
struct alc_spec *spec = codec->spec;
|
||||||
|
static const struct hda_pintbl pincfgs[] = {
|
||||||
|
{ 0x19, 0x03a1103c },
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
|
||||||
|
switch (action) {
|
||||||
|
case HDA_FIXUP_ACT_PRE_PROBE:
|
||||||
|
snd_hda_apply_pincfgs(codec, pincfgs);
|
||||||
|
alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12);
|
||||||
|
spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -7344,6 +7362,7 @@ enum {
|
|||||||
ALC245_FIXUP_HP_X360_MUTE_LEDS,
|
ALC245_FIXUP_HP_X360_MUTE_LEDS,
|
||||||
ALC287_FIXUP_THINKPAD_I2S_SPK,
|
ALC287_FIXUP_THINKPAD_I2S_SPK,
|
||||||
ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
|
ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
|
||||||
|
ALC2XX_FIXUP_HEADSET_MIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* A special fixup for Lenovo C940 and Yoga Duet 7;
|
/* A special fixup for Lenovo C940 and Yoga Duet 7;
|
||||||
@ -9448,6 +9467,10 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||||||
.chained = true,
|
.chained = true,
|
||||||
.chain_id = ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI,
|
.chain_id = ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI,
|
||||||
},
|
},
|
||||||
|
[ALC2XX_FIXUP_HEADSET_MIC] = {
|
||||||
|
.type = HDA_FIXUP_FUNC,
|
||||||
|
.v.func = alc_fixup_headset_mic,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||||
@ -10752,6 +10775,8 @@ static const struct snd_hda_pin_quirk alc269_fallback_pin_fixup_tbl[] = {
|
|||||||
SND_HDA_PIN_QUIRK(0x10ec0274, 0x1028, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB,
|
SND_HDA_PIN_QUIRK(0x10ec0274, 0x1028, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB,
|
||||||
{0x19, 0x40000000},
|
{0x19, 0x40000000},
|
||||||
{0x1a, 0x40000000}),
|
{0x1a, 0x40000000}),
|
||||||
|
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC2XX_FIXUP_HEADSET_MIC,
|
||||||
|
{0x19, 0x40000000}),
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user