From: Takashi Iwai <tiwai@suse.de>
To: Pengyu Ma <mapengyu@gmail.com>
Cc: Marco Giunta <marco_giunta@outlook.it>,
damien.dagorn29@gmail.com, kailang@realtek.com,
linux-kernel@vger.kernel.org, linux-sound@vger.kernel.org,
perex@perex.cz, songxiebing@kylinos.cn, tiwai@suse.com,
zhangheng@kylinos.cn
Subject: Re: [PATCH 1/3] ALSA: hda/realtek: Use AW88399 I2C fixup chain on Legion machines
Date: Tue, 04 Aug 2026 13:23:45 +0200 [thread overview]
Message-ID: <87se4ui0xq.wl-tiwai@suse.de> (raw)
In-Reply-To: <CALSz7m2msK78ffGQAW0gyFKLFsh8JWTtoFEgZ-U4V9OPmL2sSQ@mail.gmail.com>
On Mon, 03 Aug 2026 11:27:48 +0200,
Pengyu Ma wrote:
>
> On Sun, Aug 2, 2026 at 2:34 AM Marco Giunta <marco_giunta@outlook.it> wrote:
> >
> > Hi Aaron,
> >
> > With the added context from your reply, I did some more testing of
> > your patches on my Pro 7 16AFR10H and I can confirm issues 2-4:
> >
> > * With the current upstream code, plugging in a headset locks
> > the mic to the headset input and marks the internal mic as
> > unavailable/disconnected. Your mic fix resolves this; internal
> > mic remains selectable and functional with a headset plugged in.
> >
> > * Headset inline buttons (play/pause) work with your patches but not
> > with the current code.
> >
> > As for issue 5, it's true that the "SKU not ready" warning is caused
> > by the 0x1d pincfg override, which, though harmless in practice,
> > I'm happy to drop.
> >
> > These are real issues that I missed because my testing focused on speaker
> > output and basic internal mic functionality, not headset behavior
> > specifically. Apologies for that, and thank you for catching them.
> >
>
> Hi Marco,
>
> Thanks for confirming the internal-mic selection and headset button fixes.
>
>
> > That said, I still believe the correct approach is to add these further
> > fixes to the existing Legion-specific chain rather than the generic
> > AW88399 function. Would you be open to preserving:
> >
> > [ALC287_FIXUP_LENOVO_LEGION_AW88399] = {
> > .type = HDA_FIXUP_FUNC,
> > .v.func = alc287_fixup_legion_16iax10h_aw88399,
> > .chained = true,
> > .chain_id = ALC287_FIXUP_AW88399_I2C_2,
> > },
> >
> > where alc287_fixup_legion_aw88399 now includes the DAC override,
> > mic boost limit, suppress_auto_mic, and headset mode setup in one
> > self-contained function? This preserves the generic/model-specific
> > separation while incorporating the new fixes.
> > More generally, I'd appreciate your thoughts on my comments on the
> > series' architecture, as this affects how any combined fix is structured.
> >
>
> The current chain reuses existing Realtek helpers for the required mic,
> headset, button, and DAC handling. Its inherited XPad setup applies to
> these laptops because they expose VPC2004. The ThinkPad helper returns
> when the ThinkPad ACPI nodes are absent.
>
> > Regarding the DAC routing: I understand 0x03 also has a volume amplifier,
> > but 0x02 matches the Windows driver configuration and is the established
> > pattern in alc269.c for this exact codec and pin. I still don't see a
> > practical benefit to routing 0x17 to 0x03 instead.
> >
> > Regarding 4.0 channel maps: I remain unconvinced this is useful.
> > Even with speaker-test -c 4, all it achieves is the ability to play
> > tweeters and woofers independently, which no real-world content or
> > use case requires. The correct profile is stereo 2.0 with both driver
> > types playing together.
> >
>
> Thus 0x02 receives FL/FR and 0x03 receives channels 3/4. Forcing 0x17 to
> 0x02 collapses both speaker pins onto one DAC and gives the parser the wrong
> output configuration.
>
> The four speakers provide users a choice of output profiles. For ordinary
> stereo content, 2.0 is the preferred profile because both speaker pairs
> receive FL/FR.
>
> > Regarding the jack rename: I understand the symptom: GNOME prompts the
> > user to choose between headphone and headset on every plug event.
> > I don't see this on KDE, which suggests it may be a
> > desktop-environment-specific behavior rather than a kernel issue.
> > Is there a reason this can't be handled at userspace level, rather than by
> > renaming the kernel control to something semantically incorrect for
> > hardware without a dock? Alternatively, can we find a different solution,
> > or more simply a different name?
> >
>
> The jack rename gives the headphone output a distinct ALSA jack identity so
> PipeWire does not group it with the headset-mic route.
>
> > I'm open to collaborating (e.g. with a Tested-by tag) on a v2 that
> > combines your headset/mic fixes with the existing DAC and
> > architectural approach. Would that work for you?
> >
>
> Let's wait for the maintainer's review to see if there is more.
Not much from my side, but I just prefer receiving a solution that
satisfies both of you :)
So, if any, let's try a v2 patch set. We still have a bit of time for
7.3 release.
thanks,
Takashi
next prev parent reply other threads:[~2026-08-04 11:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-01 6:06 [PATCH 1/3] ALSA: hda/realtek: Use AW88399 I2C fixup chain on Legion machines Aaron Ma
2026-08-01 6:06 ` [PATCH 2/3] ALSA: hda/realtek: Use quad channel map for Legion AW88399 speakers Aaron Ma
2026-08-01 6:06 ` [PATCH 3/3] ALSA: hda/realtek: Rename headphone jack kcontrol on Legion machines Aaron Ma
2026-08-01 12:56 ` [PATCH 1/3] ALSA: hda/realtek: Use AW88399 I2C fixup chain " Marco Giunta
2026-08-01 16:43 ` Pengyu Ma
2026-08-01 18:34 ` Marco Giunta
2026-08-03 9:27 ` Pengyu Ma
2026-08-04 11:23 ` Takashi Iwai [this message]
2026-08-04 13:20 ` Marco Giunta
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=87se4ui0xq.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=damien.dagorn29@gmail.com \
--cc=kailang@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mapengyu@gmail.com \
--cc=marco_giunta@outlook.it \
--cc=perex@perex.cz \
--cc=songxiebing@kylinos.cn \
--cc=tiwai@suse.com \
--cc=zhangheng@kylinos.cn \
/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