Re: [PATCH 0/8] ALSA: hda: Add AW88399 HDA side codec driver for Lenovo Legion

Thomas <[email protected]> Thu, 30 Jul 2026 20:08:43 +0200
Newsgroups org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound
Message-ID <[email protected]>
Hi,

I found an additional Lenovo system that requires the existing
|ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN|quirk.

*System:*

  * Product: Lenovo Legion 7 16AGP11
  * Machine Type: 83Q8
  * Codec: Realtek ALC287
  * Codec Subsystem ID: 17aa:3956

*Problem:*

The internal tweeters follow the master volume correctly, but the bass
speakers (woofers) remain almost at full volume even at very low volume
settings (e.g. 5%).

This matches the behavior that the
|ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN|fixup was introduced to correct
on other Lenovo systems.

Without the fixup:

  * Tweeters are volume-controlled correctly.
  * Woofers are already loud at very low volume settings.

With

|options snd-hda-intel model=3D,,alc287-yoga9-bass-spk-pin|

the problem disappears completely:

  * Tweeters and woofers track the volume control together.
  * Bass volume scales correctly across the complete volume range.

The system contains multiple HDA controllers, therefore the model
parameter must be applied to the third controller (|,,|).

It looks like adding the following quirk is sufficient:

|diff --git a/sound/hda/codecs/realtek/alc269.c=20
b/sound/hda/codecs/realtek/alc269.c @@ + HDA_CODEC_QUIRK(0x17aa, 0x3956,=
=20
+ "Lenovo Legion 7 16AGP11", + ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),|

For reference:

|Codec: Realtek ALC287 Subsystem Id: 0x17aa3956 DMI Product: Legion 7=20
16AGP11 Machine Type: 83Q8 Kernel: 7.1.3 Distribution: Debian sid|

I have verified that the existing fixup completely resolves the speaker
volume issue on this machine.

Tested-by: Tom [email protected]

Thanks,
Tom


On 7/27/26 15:41, Takashi Iwai wrote:
> On Mon, 27 Jul 2026 13:57:06 +0200,
> Mark Brown wrote:
>> On Fri, Jul 17, 2026 at 03:25:02PM +0200, Marco Giunta wrote:
>>> Several Lenovo Legion laptops (Pro 7i 16IAX10H, Y9000P IAX10,
>>> Pro 7 16AFR10H, R9000P ADR10) use AWINIC AW88399 smart amplifiers
>>> to drive their bass woofers, connected via I2C as side codecs
>>> to a Realtek ALC287 HDA codec.
>> The following changes since commit 1590cf0329716306e948a8fc29f1d3ee87d3=
989f:
>>
>>    Linux 7.2-rc4 (2026-07-19 13:54:41 -0700)
>>
>> are available in the Git repository at:
>>
>>    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git ta=
gs/asoc-aw88339-lib
>>
>> for you to fetch changes up to 15c9fdb3c39d5073463ffa746cc64ad9682c875f=
:
>>
>>    ASoC: aw88399: add channel setter for HDA side codec (2026-07-21 19:=
16:08 +0100)
>>
>> ----------------------------------------------------------------
>> ASoC: Add AW88399 HDA side codec driver for Lenovo Legion
>>
>> In order to support AW88399 HDA side codec used on the Lenovo Legion we
>> need updates to it's ASoC driver.
> Pulled to for-next branch now.  Thanks.
>
>
> Takashi