linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Chiu <chris.chiu@canonical.com>
To: Jian-Hong Pan <jhp@endlessos.org>
Cc: Takashi Iwai <tiwai@suse.com>, Kailang Yang <kailang@realtek.com>,
	Kai-Heng Feng <kai.heng.feng@canonical.com>,
	Hui Wang <hui.wang@canonical.com>,
	alsa-devel@alsa-project.org,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256
Date: Fri, 26 Feb 2021 11:25:40 +0800	[thread overview]
Message-ID: <CABTNMG1NDeotEskQaVXPFR7=HtPeOt6a=z49VS8L5QzdAyV4jw@mail.gmail.com> (raw)
In-Reply-To: <CAPpJ_ed1VqLQxcfdNobqWSkgtE7xrWKu8jK0U6jxWF1m3THdaA@mail.gmail.com>

On Fri, Feb 26, 2021 at 10:06 AM Jian-Hong Pan <jhp@endlessos.org> wrote:
>
> <chris.chiu@canonical.com> 於 2021年2月26日 週五 上午9:04寫道:
> >
> > From: Chris Chiu <chris.chiu@canonical.com>
> >
> > The Acer SWIFT Swift SF314-54/55 laptops with ALC256 cannot detect
> > both the headset mic and the internal mic. Introduce new fixup
> > to enable the jack sense and the headset mic. However, the internal
> > mic actually connects to Intel SST audio. It still needs Intel SST
> > support to make internal mic capture work.
> >
> > Signed-off-by: Chris Chiu <chris.chiu@canonical.com>
> > ---
> >   v1 -> v2: remove unnecessary aamix fixup
> >
> >  sound/pci/hda/patch_realtek.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > index 1927605f0f7e..4871507cd4bf 100644
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -6406,6 +6406,7 @@ enum {
> >         ALC236_FIXUP_DELL_AIO_HEADSET_MIC,
> >         ALC282_FIXUP_ACER_DISABLE_LINEOUT,
> >         ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST,
> > +       ALC256_FIXUP_ACER_HEADSET_MIC,
> >  };
> >
> >  static const struct hda_fixup alc269_fixups[] = {
> > @@ -7853,6 +7854,16 @@ static const struct hda_fixup alc269_fixups[] = {
> >                 .chained = true,
> >                 .chain_id = ALC255_FIXUP_ACER_MIC_NO_PRESENCE,
> >         },
> > +       [ALC256_FIXUP_ACER_HEADSET_MIC] = {
> > +               .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 */
>
> Since NID 0x1a is an internal DMIC, should this connection type be 0h?
> Or, even the quirk of the internal DMIC is not needed for this case.
> Because, it is Intel SST DMIC that does not connect to Realtek HDA
> CODEC.  (Not sure for this one)
>
> The quirk of NID 0x19 is okay for me.
>
Actually I tried the existing ALC256_FIXUP_ACER_MIC_NO_PRESENT
which only quirk the 0x19, the jack sense works but the headset mic
is still absent. That's the reason why I still need the 0x1a as the internal
mic. I've verified the headset mic can be detected and work w/o problem.

Chris

> BR,
> Jian-Hong Pan
>
> > +                       { }
> > +               },
> > +               .chained = true,
> > +               .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
> > +       },
> >  };
> >
> >  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > @@ -7879,9 +7890,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_HEADSET_MIC),
> >         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_HEADSET_MIC),
> >         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
> >

  parent reply	other threads:[~2021-02-26  3:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-26  1:04 [PATCH v2] ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 chris.chiu
2021-02-26  2:05 ` Jian-Hong Pan
2021-02-26  3:24   ` Jian-Hong Pan
2021-02-26  3:25   ` Chris Chiu [this message]
2021-02-28  8:14 ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2021-02-25 16:04 chris.chiu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABTNMG1NDeotEskQaVXPFR7=HtPeOt6a=z49VS8L5QzdAyV4jw@mail.gmail.com' \
    --to=chris.chiu@canonical.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=hui.wang@canonical.com \
    --cc=jhp@endlessos.org \
    --cc=kai.heng.feng@canonical.com \
    --cc=kailang@realtek.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).