ACK: [SRU][Focal][PATCH 1/1] ALSA: hda/realtek: headphone and mic don't work on an Acer laptop
Kleber Souza
kleber.souza at canonical.com
Tue Jul 27 10:43:52 UTC 2021
On 27.07.21 08:18, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1930188
>
> 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: <stable at vger.kernel.org>
> Signed-off-by: Hui Wang <hui.wang at canonical.com>
> Link: https://lore.kernel.org/r/20210608024600.6198-1-hui.wang@canonical.com
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> (backported from commit 57c9e21a49b1c196cda28f54de9a5d556ac93f20)
> Signed-off-by: Hui Wang <hui.wang at canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
Thanks
> ---
> sound/pci/hda/patch_realtek.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index d903696c368d..9b3323009c57 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -6457,6 +6457,7 @@ enum {
> ALC295_FIXUP_ASUS_DACS,
> ALC295_FIXUP_HP_OMEN,
> ALC285_FIXUP_HP_SPECTRE_X360,
> + ALC255_FIXUP_ACER_HEADPHONE_AND_MIC,
> };
>
> static const struct hda_fixup alc269_fixups[] = {
> @@ -7959,6 +7960,15 @@ static const struct hda_fixup alc269_fixups[] = {
> .chained = true,
> .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1,
> },
> + [ALC255_FIXUP_ACER_HEADPHONE_AND_MIC] = {
> + .type = HDA_FIXUP_PINS,
> + .v.pins = (const struct hda_pintbl[]) {
> + { 0x21, 0x03211030 }, /* Change the Headphone location to Left */
> + { }
> + },
> + .chained = true,
> + .chain_id = ALC255_FIXUP_XIAOMI_HEADSET_MIC
> + },
> };
>
> static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -7992,6 +8002,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x1025, 0x132a, "Acer TravelMate B114-21", ALC233_FIXUP_ACER_HEADSET_MIC),
> SND_PCI_QUIRK(0x1025, 0x1330, "Acer TravelMate X514-51T", ALC255_FIXUP_ACER_HEADSET_MIC),
> SND_PCI_QUIRK(0x1025, 0x1430, "Acer TravelMate B311R-31", ALC256_FIXUP_ACER_MIC_NO_PRESENCE),
> + SND_PCI_QUIRK(0x1025, 0x1466, "Acer Aspire A515-56", ALC255_FIXUP_ACER_HEADPHONE_AND_MIC),
> SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
> SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS),
> SND_PCI_QUIRK(0x1028, 0x05bd, "Dell Latitude E6440", ALC292_FIXUP_DELL_E7X),
> @@ -8525,6 +8536,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
> {.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"},
> {.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"},
> {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"},
> + {.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name = "alc255-acer-headphone-and-mic"},
> {}
> };
> #define ALC225_STANDARD_PINS \
>
More information about the kernel-team
mailing list