linux/sound/hda/codecs/side-codecs
Kamlesh Chhetty 6485da8579 ALSA: hda: Add Lenovo Legion 7i 16IAX7 17AA3874 quirk
Lenovo Legion 7i 16IAX7 systems with Realtek ALC287 codec SSID
17aa:3874 and CSC3551/CS35L41 speaker amps do not provide the
required CS35L41 _DSD properties in ACPI.

Without a quirk, cs35l41-hda fails probing the amps with missing
cirrus,dev-index / Platform not supported errors, leaving the built-in
speakers silent.

This model is similar to the already-supported 17AA386F Legion 7i
16IAX7 variant. Add the Realtek ALC287 quirk to select
ALC287_FIXUP_CS35L41_I2C_2 and add 17AA3874 to the CS35L41 property
table using the same two-amp external-boost configuration.

Tested on a Lenovo Legion 7 16IAX7 with Ubuntu 7.0.0-22-generic. Both
CSC3551 CS35L41 amps probe and bind, firmware loads, calibration
applies, built-in speaker playback works, and the cirrus,dev-index
failure is gone.

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221663
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2157060
Signed-off-by: Kamlesh Chhetty <kamleshkc2002@gmail.com>
Link: https://patch.msgid.link/20260622172247.19301-1-kamleshkc2002@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2026-06-25 13:53:39 +02:00
..
cirrus_scodec_test.c ALSA: hda/cirrus_scodec_test: Use faux_device instead of platform_device 2026-01-16 15:17:53 +01:00
cirrus_scodec.c
cirrus_scodec.h
cs35l41_hda_i2c.c ASoC: Use named initializers for arrays of i2c_device_data 2026-05-21 12:30:08 +01:00
cs35l41_hda_property.c ALSA: hda: Add Lenovo Legion 7i 16IAX7 17AA3874 quirk 2026-06-25 13:53:39 +02:00
cs35l41_hda_property.h
cs35l41_hda_spi.c
cs35l41_hda.c ALSA: hda/cs35l41: Fix firmware load work teardown 2026-05-15 17:54:47 +02:00
cs35l41_hda.h ALSA: hda/cs35l41: Fix firmware load work teardown 2026-05-15 17:54:47 +02:00
cs35l56_hda_i2c.c ASoC: Use named initializers for arrays of i2c_device_data 2026-05-21 12:30:08 +01:00
cs35l56_hda_spi.c ASoC: cs35l56: Set fw_regs table after getting REVID 2025-09-28 08:27:15 +02:00
cs35l56_hda.c ALSA: hda: cs35l56: Fix system name string leaks 2026-05-25 09:22:23 +02:00
cs35l56_hda.h ALSA: hda: cs35l56: Fix uninitialized value in cs35l56_hda_read_acpi() 2026-04-29 07:50:16 +02:00
hda_component.c ALSA: hda: Fix missing pointer check in hda_component_manager_init function 2025-10-11 08:28:52 +02:00
hda_component.h ALSA: hda/component: Use guard() for mutex locks 2025-08-29 11:52:15 +02:00
Kconfig ALSA: hda: cs35l41: imply SERIAL_MULTI_INSTANTIATE 2026-05-27 12:35:01 +02:00
Makefile
tas2781_hda_i2c.c ASoC: Updates for v7.2 2026-06-15 20:19:22 +02:00
tas2781_hda_spi.c ALSA: hda/tas2781: Fix device-0 reset issue and handle -EXDEV in block data processing 2026-06-10 09:24:23 +02:00
tas2781_hda.c ASoC: tas2781: Put three different calibrated data solution into the same data structure 2026-02-04 13:38:02 +00:00
tas2781_hda.h ALSA: hda/tas2781: Support L"SmartAmpCalibrationData" to save calibrated data 2025-08-06 08:05:47 +02:00