Skip to content

Commit 57c9e21

Browse files
jason77-wangtiwai
authored andcommitted
ALSA: hda/realtek: headphone and mic don't work on an Acer laptop
There are 2 issues on this machine, the 1st one is mic's plug/unplug can't be detected, that is because the mic is set to manual detecting mode, need to apply ALC255_FIXUP_XIAOMI_HEADSET_MIC to set it to auto detecting mode. The other one is headphone's plug/unplug can't be detected by pulseaudio, that is because the pulseaudio will use ucm2/sof-hda-dsp on this machine, and the ucm2 only handle 'Headphone Jack', but on this machine the headphone's pincfg sets the location to Front, then the alsa mixer name is "Front Headphone Jack" instead of "Headphone Jack", so override the pincfg to change location to Left. BugLink: http://bugs.launchpad.net/bugs/1930188 Cc: <[email protected]> Signed-off-by: Hui Wang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 9981b20 commit 57c9e21

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6568,6 +6568,7 @@ enum {
65686568
ALC285_FIXUP_HP_SPECTRE_X360,
65696569
ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP,
65706570
ALC623_FIXUP_LENOVO_THINKSTATION_P340,
6571+
ALC255_FIXUP_ACER_HEADPHONE_AND_MIC,
65716572
};
65726573

65736574
static const struct hda_fixup alc269_fixups[] = {
@@ -8146,6 +8147,15 @@ static const struct hda_fixup alc269_fixups[] = {
81468147
.chained = true,
81478148
.chain_id = ALC283_FIXUP_HEADSET_MIC,
81488149
},
8150+
[ALC255_FIXUP_ACER_HEADPHONE_AND_MIC] = {
8151+
.type = HDA_FIXUP_PINS,
8152+
.v.pins = (const struct hda_pintbl[]) {
8153+
{ 0x21, 0x03211030 }, /* Change the Headphone location to Left */
8154+
{ }
8155+
},
8156+
.chained = true,
8157+
.chain_id = ALC255_FIXUP_XIAOMI_HEADSET_MIC
8158+
},
81498159
};
81508160

81518161
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -8182,6 +8192,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
81828192
SND_PCI_QUIRK(0x1025, 0x132a, "Acer TravelMate B114-21", ALC233_FIXUP_ACER_HEADSET_MIC),
81838193
SND_PCI_QUIRK(0x1025, 0x1330, "Acer TravelMate X514-51T", ALC255_FIXUP_ACER_HEADSET_MIC),
81848194
SND_PCI_QUIRK(0x1025, 0x1430, "Acer TravelMate B311R-31", ALC256_FIXUP_ACER_MIC_NO_PRESENCE),
8195+
SND_PCI_QUIRK(0x1025, 0x1466, "Acer Aspire A515-56", ALC255_FIXUP_ACER_HEADPHONE_AND_MIC),
81858196
SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
81868197
SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS),
81878198
SND_PCI_QUIRK(0x1028, 0x05bd, "Dell Latitude E6440", ALC292_FIXUP_DELL_E7X),
@@ -8740,6 +8751,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
87408751
{.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"},
87418752
{.id = ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name = "alc287-ideapad-bass-spk-amp"},
87428753
{.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"},
8754+
{.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name = "alc255-acer-headphone-and-mic"},
87438755
{}
87448756
};
87458757
#define ALC225_STANDARD_PINS \

0 commit comments

Comments
 (0)