[SRU] enable cs42l43 and cs35l56 audio on Intel LNL

Bug #2106394 reported by AaronMa
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
New
Undecided
Unassigned
alsa-ucm-conf (Ubuntu)
Fix Committed
Undecided
Atlas Yu
Noble
Fix Committed
Undecided
Atlas Yu
Oracular
Fix Committed
Undecided
Atlas Yu
Plucky
Fix Committed
Undecided
Unassigned
firmware-sof (Ubuntu)
Fix Released
Undecided
Chris Chiu
Noble
Fix Committed
Undecided
Unassigned
Oracular
Fix Committed
Undecided
Unassigned
Plucky
Fix Released
Undecided
Unassigned
linux (Ubuntu)
New
Undecided
Unassigned
Noble
Won't Fix
Undecided
Unassigned
Oracular
Fix Committed
Medium
AaronMa
Plucky
Fix Released
Undecided
Unassigned
linux-firmware (Ubuntu)
In Progress
Medium
AaronMa
Noble
Fix Committed
Undecided
Unassigned
Oracular
Fix Committed
Undecided
Unassigned
Plucky
New
Undecided
Unassigned

Bug Description

[Impact]
No audio input/output for cs42l43 and cs35l56 on Intel LNL of ThinkPad.

[Fix]
Add the firmware of cs35l56 and sof-lnl-cs42l43-l0-2ch.tplg
to enable audio support;
update alsa-ucm-conf to gain the control of mic/speaker mute LED.

linux-fimware commit:
9c46d10f8 cirrus: cs35l56: Add and update firmware for various Cirrus CS35L54 and CS35L56 laptops

sof-bin commit:
e8604e4 Add 2.12 topology binaries for Intel targets

sof-bin file:
v2.12.x/sof-ipc4-tplg-v2.12/sof-lnl-cs42l43-l0-2ch.tplg

alsa-ucm-conf commits:
9e946d4 sof-soundwire: Add LED support for cs35l56 amplifiers
79c9e8f sof-soundwire: cs42l43: Drop headset mic from mic mute LED

[Test]
Tested on Intel LNL:
1, hear the sound from
$ speaker-test -c 2
2, make sound and recorded, replay the file:
$ arecord -f cd test.wav
$ aplay test.wav
3, press speaker-mute and mic-mute key, the OSD are shown,
and the LED is on when it's muted.
4, plugin headset and restest the steps above.

[Where problems could occur]
It may break cirrus audio support.

Noble/Oracular/Plucky support this platform, Plucky already got the firmware.

Related branches

AaronMa (mapengyu)
tags: added: jira-sutton-471 oem-priority
tags: added: jira-sutton-473
Changed in linux-firmware (Ubuntu):
assignee: nobody → AaronMa (mapengyu)
importance: Undecided → Medium
Changed in linux-firmware (Ubuntu Noble):
status: New → In Progress
Changed in linux-firmware (Ubuntu):
status: New → In Progress
AaronMa (mapengyu)
description: updated
AaronMa (mapengyu)
Changed in firmware-sof (Ubuntu):
assignee: nobody → Chris Chiu (mschiu77)
Changed in alsa-ucm-conf (Ubuntu):
assignee: nobody → Atlas Yu (pseudoc)
AaronMa (mapengyu)
description: updated
Revision history for this message
Atlas Yu (pseudoc) wrote :

alsa-ucm-conf/noble 1.2.10-1ubuntu5.5

Changed in alsa-ucm-conf (Ubuntu):
status: New → Fix Committed
status: Fix Committed → In Progress
Revision history for this message
Atlas Yu (pseudoc) wrote :

alsa-ucm-conf/plucky 1.2.12-1ubuntu2

Revision history for this message
Chris Chiu (mschiu77) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks Atlas.

I see the oem team has 3 conflicting SRU proposal of alsa-ucm-conf

https://bugs.launchpad.net/ubuntu/+source/alsa-ucm-conf/+bug/2106464
https://bugs.launchpad.net/ubuntu/+source/alsa-ucm-conf/+bug/2106394
https://bugs.launchpad.net/ubuntu/+source/alsa-ucm-conf/+bug/2100732

Could you work together to consolidate on one upload/debdiff addressing the 3 reports?

Also a note for next time, if you need something sponsored to Ubuntu (which I assume is the case there), you need to subscribe the "ubuntu-sponsors" team to the report

Revision history for this message
Bin Li (binli) wrote :

I've merged one upload/debdiff for the 3 reports.

https://bugs.launchpad.net/ubuntu/+source/alsa-ucm-conf/+bug/2100732

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks

Changed in alsa-ucm-conf (Ubuntu):
status: In Progress → Fix Committed
AaronMa (mapengyu)
Changed in linux-firmware (Ubuntu Oracular):
status: New → In Progress
description: updated
AaronMa (mapengyu)
Changed in linux (Ubuntu Noble):
status: New → Won't Fix
Changed in linux (Ubuntu Oracular):
status: New → In Progress
Jürg Häfliger (juergh)
Changed in linux-firmware (Ubuntu Oracular):
status: In Progress → Fix Committed
Changed in linux-firmware (Ubuntu Noble):
status: In Progress → Fix Committed
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

I discussed this with Seb, it is not release critical in a way to stall/stop the release so we won't accept it from unapproved into plucky before release.
But we will leave it in -unapproved for post-release processing by the SRU team.

Changed in alsa-ucm-conf (Ubuntu Noble):
assignee: nobody → Atlas Yu (pseudoc)
status: New → Fix Committed
Changed in alsa-ucm-conf (Ubuntu Oracular):
assignee: nobody → Atlas Yu (pseudoc)
status: New → Fix Committed
Chris Chiu (mschiu77)
Changed in firmware-sof (Ubuntu Noble):
status: New → In Progress
Changed in firmware-sof (Ubuntu Oracular):
status: New → In Progress
Revision history for this message
Chris Chiu (mschiu77) wrote :
Edoardo Canepa (ecanepa)
Changed in linux (Ubuntu Oracular):
assignee: nobody → AaronMa (mapengyu)
Stefan Bader (smb)
Changed in linux (Ubuntu Oracular):
importance: Undecided → Medium
status: In Progress → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

the test case doesn't actually say how to test..

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> Noble/Oracular/Plucky support this platform, Plucky already got the firmware.

After doing a check in plucky for a random topology file (I used sof-adl-cs42l43-l0-cs35l56-l23.tplg) and verifying it's there, and given the comment above, marking firmware-sof main and plucky tasks as "fix released".

Changed in firmware-sof (Ubuntu Plucky):
status: New → Fix Released
Changed in firmware-sof (Ubuntu):
status: New → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote (last edit ):

As requested in comment #9, please provide a better elaborated test plan. See [1] for a reference/explanation.

Also, this SRU has many package tasks, are all of them required to fix the bug? Which packages need to be released into updates together?

1. https://documentation.ubuntu.com/sru/en/latest/reference/requirements/#test-plan

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> sof-bin commit:
> e8604e4 Add 2.12 topology binaries for Intel targets

> sof-bin file:
> v2.12.x/sof-ipc4-tplg-v2.12/sof-lnl-cs42l43-l0-2ch.tplg

Your patch is adding tons of tplg files, not just that one.

$ head -n 109 debian/patches/0008-Add-2.12-topology-binaries-for-Intel-targets.patch | grep \\.tplg | wc -l
94

Why do we need the dozens of other tplg files in this SRU? What bug are they fixing?

Changed in firmware-sof (Ubuntu Oracular):
status: In Progress → Incomplete
Changed in firmware-sof (Ubuntu Noble):
status: In Progress → Incomplete
Revision history for this message
AaronMa (mapengyu) wrote :

Added the test plan.

description: updated
Revision history for this message
Chris Chiu (mschiu77) wrote :

The upstream commit of a newer version usually include the topology files for the new platforms or missing configuration on old platforms. It would be better to catch up with upstream to have these configuration which can support more configurations we could be missing in the future. This firmware-sof patch includes the New DSP topologies added in v.2.12 which is formally released in https://github.com/thesofproject/sof-bin/releases and signed by Intel.

Although there're lots of new tplg files added, but they are mostly for missing configuration on old platforms or newly added for next-gen Intel platform. And they are specified for particular soundwire configurations which can hardly affect the existing machines. It should help reduce our efforts to support different audio configurations coming from more vendors and machines.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

firmware-sof doesn't have an SRU exception[1] that allows it to add such bulk changes without a specific process.

This bug here claims to be enabling just "cs42l43 and cs35l56 audio on Intel LNL", but the commit is far more reaching than that claim.

If I look at the previous update[2], only one topology file was added[3]: sof-tplg-v2.2.13/sof-rpl-cs42l43-l0.tplg

> It would be better to catch up with upstream to have these configuration which can support more
> configurations we could be missing in the future.

This rationale is not always true. Such a type of update can also bring with it other bugs, which would mean a regression for ubuntu stable release users. See [4] for some examples and arguments in favor of minimal changes.

Why do you claim that bringing in all those other 90+ topology files is better and less risky than updating just the one we need to fix this bug? I'm definitely not the expert in this package, but I see a huge amount of changes, to other pieces of hardware, and I have to wonder:
- how can we be sure we are not regressing all those other sound cards?
- we are testing just "intel NL", what about all the other changes?
- Why can you claim that this update will not affect other hardware? You state, in the bug description: "It may break cirrus audio support.". But I see many topology files that don't seem to be limited to "cirrus audio".

What is the risk in updating/adding just the files we need for "cs42l43 and cs35l56 audio on Intel LNL"?

1. https://wiki.ubuntu.com/StableReleaseUpdates#Documentation_for_Special_Cases
2. https://launchpad.net/ubuntu/+source/firmware-sof/2023.12.1-1ubuntu1.4
3. https://git.launchpad.net/ubuntu/+source/firmware-sof/commit/?h=ubuntu/noble-devel
4. https://documentation.ubuntu.com/sru/en/latest/explanation/requirements/#explanation-minimal

Revision history for this message
AaronMa (mapengyu) wrote (last edit ):

Reply #11:

SOF tplg and alsa-ucm-conf should be the updated together to make audio work.

The supported kernel is target to oem-6.11-1020.
6.13+ kernel include plucky should support.
oracular SRU had been sent to kernel maillist.

Changed in linux (Ubuntu Plucky):
status: New → Fix Released
Revision history for this message
Chris Chiu (mschiu77) wrote :

While I understand Ubuntu's Stable Release Updates (SRU) policy emphasizes minimal changes to reduce risks, fix high-impact issues while minimizing user disruption, and should be as minimal as possible to reduce regression risks, but the nature of firmware-sof and the benefits of comprehensive updates which we believe these topology files for particular Intel platform (ex. sof-lnl/arl/mtl/...-$(codec_name)-xxxx) are signed and verified by Intel and would be advantageous in the long run.

The development of firmware-sof follows the standards of the upstream Linux community. It ensures firmware-sof package aligns with the broader Linux ecosystem to avoids compatibility issues. Updating only part of the files would require multiple SRUs, testing and verification cycles for the new/existing audio configurations which are also expected to be supported by Ubuntu.

You're right that we can't guarantee this approach is less risky. However, by including a comprehensive set of topology files, we can predictably reduce the need for additional testing and verification that would otherwise be required to support new machines or new audio configurations which are not on HWE's radar. This update aligns with community practices and helps maintain consistency with upstream developments. I'd expect it to handle a wider range of hardware configurations, thereby enhancing overall user experience and system compatibility.

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello AaronMa, or anyone else affected,

Accepted linux-firmware into oracular-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/20240913.gita34e7a5f-0ubuntu2.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-oracular to verification-done-oracular. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-oracular. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello AaronMa, or anyone else affected,

Accepted linux-firmware into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/20240318.git3b128b60-0ubuntu2.12 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> SOF tplg and alsa-ucm-conf should be the updated together to make audio work.

Ok

> 6.13+ kernel include plucky should support.

Ok, plucky is good then.

> oracular SRU had been sent to kernel maillist.

What does this mean for this SRU here? It sounds like we can only test it when the oracular kernel SRU is in proposed as well, is that it?

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> the benefits of comprehensive updates which we believe these topology files for particular Intel platform
> (ex. sof-lnl/arl/mtl/...-$(codec_name)-xxxx) are signed and verified by Intel and would be advantageous
> in the long run.

While I can appreciate that, it's not the topic of this SRU. In this SRU, you are enabling "cs42l43 and cs35l56 audio on Intel LNL". But there are dozens and dozens of other changes.

Furthermore, you are still claiming in the bug description that only cirrus audio could regress:

"""
  It may break cirrus audio support.
"""

Is that really true, given all the other topology files you are updating?

And:

> The development of firmware-sof follows the standards of the upstream Linux community. It ensures
> firmware-sof package aligns with the broader Linux ecosystem to avoids compatibility issues. Updating
> only part of the files would require multiple SRUs, testing and verification cycles for the
> new/existing audio configurations which are also expected to be supported by Ubuntu.

If you want to update all those other binary files, then your bug description must reflect that. As it is now, your bug is:
- asking to update two specific hardware devices
- testing just those two hardware devices
- stating that only cirrus audio (presumably those two hardware devices) could regress

It was fine so far. But then you:
- include 90+ topology files for other devices not mentioned even once in the bug.

Do you see the discrepancy and why I'm alarmed? What is in the actual bits of code that was uploaded is NOT what is stated in this bug. Your bug is requesting one thing, but doing something else much larger.

Revision history for this message
Chris Chiu (mschiu77) wrote :

I force-push the MR which only update related topologies

.../sof-lnl-cs42l43-l0-2ch.tplg | Bin 0 -> 71775 bytes
.../sof-lnl-cs42l43-l0-4ch.tplg | Bin 0 -> 71159 bytes
.../sof-lnl-cs42l43-l0-cs35l56-l23.tplg | Bin 0 -> 61382 bytes
.../sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg | Bin 0 -> 71775 bytes
.../sof-lnl-cs42l43-l0-cs35l56-l3.tplg | Bin 0 -> 59994 bytes
.../sof-lnl-cs42l43-l0.tplg | Bin 0 -> 59994 bytes

oracular: https://code.launchpad.net/~mschiu77/ubuntu/+source/firmware-sof/+git/firmware-sof/+merge/484546
noble: https://code.launchpad.net/~mschiu77/ubuntu/+source/firmware-sof/+git/firmware-sof/+merge/484012

PPA uploaded here for testing: https://launchpad.net/~canonical-hwe-team/+archive/ubuntu/staging-kernels

Revision history for this message
AaronMa (mapengyu) wrote :

Reply to #20:

We can test 6.11.0-1020-oem and 6.14-15 kernel versions which are already released.

Oracular already merges the patches which will be in 6.11.0-27.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello AaronMa, or anyone else affected,

Accepted alsa-ucm-conf into plucky-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/alsa-ucm-conf/1.2.12-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-plucky to verification-done-plucky. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-plucky. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in alsa-ucm-conf (Ubuntu Plucky):
status: New → Fix Committed
tags: added: verification-needed verification-needed-plucky
tags: added: verification-needed-oracular
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello AaronMa, or anyone else affected,

Accepted alsa-ucm-conf into oracular-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/alsa-ucm-conf/1.2.10-1ubuntu6.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-oracular to verification-done-oracular. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-oracular. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed-noble
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello AaronMa, or anyone else affected,

Accepted alsa-ucm-conf into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/alsa-ucm-conf/1.2.10-1ubuntu5.5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in firmware-sof (Ubuntu Oracular):
status: Incomplete → Fix Committed
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello AaronMa, or anyone else affected,

Accepted firmware-sof into oracular-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/firmware-sof/2024.06-1ubuntu1.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-oracular to verification-done-oracular. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-oracular. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in firmware-sof (Ubuntu Noble):
status: Incomplete → Fix Committed
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello AaronMa, or anyone else affected,

Accepted firmware-sof into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/firmware-sof/2023.12.1-1ubuntu1.5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.