Re: [PATCH] ALSA: hda/realtek: Enable MICs of Acer SWIFT with ALC256

From: Chris Chiu
Date: Thu Feb 25 2021 - 06:12:45 EST


On Thu, Feb 25, 2021 at 5:32 PM Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> On Thu, 25 Feb 2021 10:21:07 +0100,
> Chris Chiu wrote:
> >
> > The Acer SWIFT Swift SF314-54/55 with ALC256 cannot detect the headset
> > microphone and suffers the noise problem in audio capture.
> >
> > This patch enables the headset jack sense and fixes the noise problem with
> > aamix fixup.
> >
> > Signed-off-by: Chris Chiu <chris.chiu@xxxxxxxxxxxxx>
>
> The patch seems broken due to the line break and cannot be applied
> cleanly. Could you resubmit?
>
Talked to Jian-Hong who was working on SF314-55, the aamix disable
does not really make difference. And we don't have to quirk 0x1a since
the internal mic connects to intel SST audio. I'll make a V2 patch and
resubmit. Thanks.

>
> thanks,
>
> Takashi
>
>
> > ---
> > sound/pci/hda/patch_realtek.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > index 290645516313..57e4dbcd76a9 100644
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -6372,6 +6372,8 @@ enum {
> > ALC236_FIXUP_DELL_AIO_HEADSET_MIC,
> > ALC282_FIXUP_ACER_DISABLE_LINEOUT,
> > ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST,
> > + ALC256_FIXUP_ACER_SWIFT_NO_MIC_PRESENCE,
> > + ALC256_FIXUP_ACER_SWIFT_DISABLE_AAMIX,
> > };
> >
> > static const struct hda_fixup alc269_fixups[] = {
> > @@ -7815,6 +7817,22 @@ static const struct hda_fixup alc269_fixups[] = {
> > .chained = true,
> > .chain_id = ALC255_FIXUP_ACER_MIC_NO_PRESENCE,
> > },
> > + [ALC256_FIXUP_ACER_SWIFT_NO_MIC_PRESENCE] = {
> > + .type = HDA_FIXUP_PINS,
> > + .v.pins = (const struct hda_pintbl[]) {
> > + { 0x19, 0x02a1113c }, /* use as headset mic,
> > without its own jack detect */
> > + { 0x1a, 0x90a1092f }, /* use as internal mic */
> > + { },
> > + },
> > + .chained = true,
> > + .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
> > + },
> > + [ALC256_FIXUP_ACER_SWIFT_DISABLE_AAMIX] = {
> > + .type = HDA_FIXUP_FUNC,
> > + .v.func = alc_fixup_disable_aamix,
> > + .chained = true,
> > + .chain_id = ALC256_FIXUP_ACER_SWIFT_NO_MIC_PRESENCE
> > + },
> > };
> >
> > static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > @@ -7841,9 +7859,11 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500",
> > ALC299_FIXUP_PREDATOR_SPK),
> > SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox",
> > ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
> > SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G",
> > ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE),
> > + SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54",
> > ALC256_FIXUP_ACER_SWIFT_DISABLE_AAMIX),
> > SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G",
> > ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
> > SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G",
> > ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
> > SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G",
> > ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
> > + SND_PCI_QUIRK(0x1025, 0x129c, "Acer SWIFT SF314-55",
> > ALC256_FIXUP_ACER_SWIFT_DISABLE_AAMIX),
> > 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),
> > --
> > 2.20.1
> >