Re: [PATCH] ALSA: hda/realtek: add mic quirk for Acer SF314-42

From: Takashi Iwai
Date: Wed Jul 28 2021 - 13:02:56 EST


On Wed, 21 Jul 2021 19:01:41 +0200,
Alexander Monakov wrote:
>
> The Acer Swift SF314-42 laptop is using Realtek ALC255 codec. Add a
> quirk so microphone in a headset connected via the right-hand side jack
> is usable.
>
> Signed-off-by: Alexander Monakov <amonakov@xxxxxxxxx>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: Hui Wang <hui.wang@xxxxxxxxxxxxx>
> Cc: Kailang Yang <kailang@xxxxxxxxxxx>
> Cc: Jeremy Szu <jeremy.szu@xxxxxxxxxxxxx>
> Cc: Jian-Hong Pan <jhp@xxxxxxxxxxxxx>
> Cc: Chris Chiu <chris.chiu@xxxxxxxxxxxxx>
> Cc: PeiSen Hou <pshou@xxxxxxxxxxx>
> Cc: alsa-devel@xxxxxxxxxxxxxxxx
> ---
> Hello,
>
> Acer Swift SF314-42 laptop is using AMD Ryzen SoC audio with Realtek
> ALC255 codec. The are three ALSA cards: HDMI audio, AMD ACP card, and
> AMD HDA card. There is an internal stereo microphone connected to the
> ACP card, and a mini-jack connected to the Realtek codec. There are no
> LEDs.
>
> I'd like to be able to use a mic+headphones headset. Unfortunately, out
> of the box ALSA does not correctly detect the microphone input of the
> Realtek codec. The suggested patch fixes that, though I cannot be sure
> it's 100% correct.
>
> With the patch, the experience is unfortunately still not ideal. I have
> noticed a couple of issues:
>
> 1) at high enough gain, recording the microphone is picking up what is
> being played via the headphones; maybe it's supposed to be like that,
> but it surprised me;

Hrm, that doesn't sound right. Some internal loopback in the codec?
Dunno. It doesn't pick up the sound physically, right?

> 2) there is a very noticeable "pop" when plugging the headset in/out,
> accompanied by
>
> pcieport 0000:00:08.1: PME: Spurious native interrupt!
> pcieport 0000:00:08.1: PME: Spurious native interrupt!
>
> in dmesg. I'd appreciate info and any help about this issue.

The pop noise is often a thing with the codec and there are a bunch of
different workarounds found in the driver. But the spurious interrupt
is more worrisome. Is the PCI slot corresponding to the HD-audio
controller?

As of now, I'm inclined to take your patch as is, at least as a
first-aid workaround. Let's see whether we get a better development
soonish.


thanks,

Takashi

>
> Thanks.
> Alexander
>
> sound/pci/hda/patch_realtek.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index ab5113cccffa..87ad8469dbc5 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -8191,6 +8191,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x1025, 0x1308, "Acer Aspire Z24-890", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
> 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, 0x142b, "Acer Swift SF314-42", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
> 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),
>
> base-commit: 62fb9874f5da54fdb243003b386128037319b219
> --
> 2.31.1
>