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