ASoC: Intel: soc-acpi-intel-ptl-match: Remove unnecessary cs42l43 match#5773
Open
charleskeepax wants to merge 2 commits into
Open
ASoC: Intel: soc-acpi-intel-ptl-match: Remove unnecessary cs42l43 match#5773charleskeepax wants to merge 2 commits into
charleskeepax wants to merge 2 commits into
Conversation
For PTL onwards we are intending to rely on function topologies, rather than using a match table for each system type. Remove this unnecessary match table entry. Having the match entries can mean that systems match when they should use function topologies instead, resulting in incorrect audio configurations. Although, admittedly this is not too likely with this 6x amp configuration as those are quite rare, but best to follow best practice. Note there is a single remaining match which does currently need a match as it contains custom magic in the topology. More work will be required to figure out how we guard off situations like that from interfering with more generic systems. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
bardliao
previously approved these changes
May 13, 2026
bardliao
previously approved these changes
May 13, 2026
There was a problem hiding this comment.
Pull request overview
This PR updates Intel PTL SoundWire machine matching to prefer function topology selection over a per-platform match entry, and adds a SoundWire DMI quirk to ignore a ghost RT722 ACPI device on specific PTL systems to avoid incorrect enumeration.
Changes:
- Remove the PTL SoundWire machine match entry for the cs42l43 + 6x cs35l56 configuration to avoid preempting function-topology based selection.
- Add a new DMI-based _ADR remap quirk to drop a ghost RT722 device (by remapping its _ADR to 0) on select ASUS/Lenovo PTL platforms.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| sound/soc/intel/common/soc-acpi-intel-ptl-match.c | Removes an explicit cs42l43+cs35l56x6 match entry so PTL systems rely on function topologies instead. |
| drivers/soundwire/dmi-quirks.c | Adds a DMI quirk table entry to ignore a ghost Realtek RT722 ACPI device on specific PTL systems. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| { | ||
| 0x000330025d072201ull, | ||
| 0x0000000000000000ull | ||
| }, |
Comment on lines
226
to
231
| } | ||
| }; | ||
|
|
||
| static const struct snd_soc_acpi_adr_device cs35l56_1_3amp_adr[] = { | ||
| { | ||
| .adr = 0x00013001fa355601ull, | ||
| .num_endpoints = 1, | ||
| .endpoints = &spk_1_endpoint, | ||
| .name_prefix = "AMP1" | ||
| }, | ||
| { | ||
| .adr = 0x00013101fa355601ull, | ||
| .num_endpoints = 1, | ||
| .endpoints = &spk_2_endpoint, | ||
| .name_prefix = "AMP2" | ||
| }, | ||
| { | ||
| .adr = 0x00013201fa355601ull, | ||
| .num_endpoints = 1, | ||
| .endpoints = &spk_3_endpoint, | ||
| .name_prefix = "AMP3" | ||
| } | ||
| }; | ||
|
|
||
| static const struct snd_soc_acpi_adr_device cs35l56_3_3amp_adr[] = { | ||
| { | ||
| .adr = 0x00033301fa355601ull, | ||
| .num_endpoints = 1, | ||
| .endpoints = &spk_4_endpoint, | ||
| .name_prefix = "AMP4" | ||
| }, | ||
| { | ||
| .adr = 0x00033401fa355601ull, | ||
| .num_endpoints = 1, | ||
| .endpoints = &spk_5_endpoint, | ||
| .name_prefix = "AMP5" | ||
| }, | ||
| { | ||
| .adr = 0x00033501fa355601ull, | ||
| .num_endpoints = 1, | ||
| .endpoints = &spk_6_endpoint, | ||
| .name_prefix = "AMP6" | ||
| } | ||
| }; | ||
|
|
||
| static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr[] = { | ||
| { | ||
| .adr = 0x000030025D071101ull, |
Many systems ship with a Realtek audio codec in the ACPI that doesn't physically exist in the system. This confuses the newer function topology system that creates the soundcard, as it builds the card based on the the ACPI information. Whilst we are working with the laptop vendors to try and stop this happening there are quite a few systems where this has shipped. Add a quirk to disable this "ghost" device. Currently this patch should cover: - Asus UX5406AA - Lenovo Yoga Pro 9i (83SF) - Lenovo Yoga Slim 7 Ultra (83QK) Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For PTL onwards we are intending to rely on function topologies, rather than using a match table for each system type. Remove this unnecessary match table entry. Having the match entries can mean that systems match when they should use function topologies instead, resulting in incorrect audio configurations. Although, admittedly this is not too likely with this 6x amp configuration as those are quite rare, but best to follow best practice.
Note there is a single remaining match which does currently need a match as it contains custom magic in the topology. More work will be required to figure out how we guard off situations like that from interfering with more generic systems.