Public bug reported:

[Impact]
No speaker audio on Lenovo systems with Intel Panther Lake platform using
CS42L43 + CS35L57 x4 SoundWire audio codecs (SSID 17aa:2355).

The CS35L57 amplifier driver fails to load firmware and tuning files,
resulting in FIRMWARE_MISSING errors for all 4 amplifiers:

cs35l56 sdw:0:1:01fa:3557:01:0: FIRMWARE_MISSING
cs35l56 sdw:0:1:01fa:3557:01:0: Can't read tuning IDs
cs35l56 sdw:0:1:01fa:3557:01:1: FIRMWARE_MISSING
cs35l56 sdw:0:1:01fa:3557:01:1: Can't read tuning IDs
cs35l56 sdw:0:2:01fa:3557:01:2: FIRMWARE_MISSING
cs35l56 sdw:0:2:01fa:3557:01:2: Can't read tuning IDs
cs35l56 sdw:0:2:01fa:3557:01:3: FIRMWARE_MISSING
cs35l56 sdw:0:2:01fa:3557:01:3: Can't read tuning IDs

The sound card probes but speakers produce no output. Headset jack and
HDMI audio may still work, but the primary speakers are non-functional.

[Fix]
Add the CS35L57 DSP firmware (.wmfw) and per-amp tuning binaries (.bin)
for SSID 17aa:2355 from upstream linux-firmware commit:

ecf00f092a8e cirrus: cs35l57 cs35l63: Add firmware for Cirrus Amps for
some Lenovo laptops

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-
firmware.git/commit/?id=ecf00f092a8e

The commit adds:
- cirrus/cs35l56/CS35L56_Rev4.5.3.wmfw (shared DSP firmware binary)
- cirrus/cs35l57-b2-dsp1-misc-17aa2355-spkid{0,1}.wmfw (symlinks to above)
- cirrus/cs35l57-b2-dsp1-misc-17aa2355-spkid{0,1}-{l1u0,l1u1,l2u2,l2u3}.bin 
(tuning files)

Total 10 files for SSID 17aa:2355 (spkid0 + spkid1 speaker ID variants).

This commit is already included in Resolute (26.04).

[Test Plan]
On a Lenovo system with Intel Panther Lake and CS35L57 amplifiers
(PCI audio device 8086:e428, SSID 17aa:2355):

1. Boot with the updated linux-firmware package
2. Check dmesg for firmware loading:
   $ dmesg | grep cs35l57
3. Verify speakers produce audio:
   $ speaker-test -c 2 -t wav

Without the fix: dmesg shows FIRMWARE_MISSING for all 4 CS35L57 amps,
no speaker output.
With the fix: dmesg shows firmware v4.5.3 loaded on all 4 amps,
speakers produce audio.

[Where problems could occur]
The new firmware files could cause the CS35L57 amplifier DSP to
malfunction if the tuning parameters are incorrect for a given speaker
ID variant, potentially resulting in distorted audio, speaker protection
triggering, or no audio output from speakers. Since the wmfw files are
symlinks to a shared CS35L56_Rev4.5.3.wmfw binary, any issue with that
shared firmware would also affect existing CS35L56-based systems that
use the same base firmware file.

[Other Info]
The upstream commit also adds CS35L63 firmware for other Lenovo SSIDs
(17aa2352, 17aa2353) which are unrelated to this specific bug but are
part of the same upstream commit.

This commit is already in Resolute (26.04). SRU needed for Noble and
Questing.

The kernel driver support (cs35l57 SoundWire codec support) is present
on the oem-6.17-next kernel branch.

Note: A separate firmware-sof SRU is also needed for the SOF topology
files (sof-sdca-3amp-id2.tplg) required by this platform.

** Affects: linux-firmware (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2143794

Title:
  Add Cirrus CS35L57 firmware for Lenovo systems with Intel Panther Lake
  audio (SSID 17aa:2355)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/2143794/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to