Uh oh!
There was an error while loading. Please reload this page.
ASoC: SOF: Intel: avoid partial SDW machine matches on ACE 2.0+ - #5728
ASoC: SOF: Intel: avoid partial SDW machine matches on ACE 2.0+#5728bardliao wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adjusts Intel SOF HDA SoundWire machine selection to prevent partially matched SDW machine/topology selection on ACE 2.0+ platforms, allowing the driver to fall back to the generated default SDW machine description when no exact predefined match exists.
Changes:
- Fetch chip info earlier so ACE 2.0+ matching rules can be applied during alt-machine iteration.
- Require exact
link_maskmatches on ACE 2.0+ (while keeping subset-based matching for pre-ACE 2.0).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
On ACE 2.0+ platforms, if no predefined SoundWire machine matches, the driver can build a default SDW machine description and select function topologies from the ACPI-reported peripherals. Keep the existing subset-based matching for pre-ACE 2.0 platforms, but avoid selecting a partially matched machine on ACE 2.0+ systems. A partial match may pick a subset topology, which can leave some endpoints unavailable or break audio completely. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if (~hdev->info.link_mask & mach->link_mask) | ||
| if (~hdev->info.link_mask & mach->link_mask || | ||
| (hdev->info.link_mask != mach->link_mask && | ||
| chip->hw_ip_version >= SOF_INTEL_ACE_2_0)) |
There was a problem hiding this comment.
chip->hw_ip_version >= SOF_INTEL_ACE_2_0 because UpX is cAVS?
What we will do if a ACE3 hardware have all links enabled and only subset of that is used ?
There was a problem hiding this comment.
chip->hw_ip_version >= SOF_INTEL_ACE_2_0 because UpX is cAVS?
No, it is because we will generate a machine match table for ACE 2.0+ platforms at line 1393 and below if no machine is selected.
What we will do if a ACE3 hardware have all links enabled and only subset of that is used ?
It will use the default SDW machine driver with function topology.
The PR is for #5721 where a subset topology is selected. Instead of removing all of the subsets or adding a new machine match table, I think don't match the subset makes more sense.
On ACE 2.0+ platforms, if no predefined SoundWire machine matches, the driver can build a default SDW machine description and select function topologies from the ACPI-reported peripherals.
Keep the existing subset-based matching for pre-ACE 2.0 platforms, but avoid selecting a partially matched machine on ACE 2.0+ systems. A partial match may pick a subset topology, which can leave some endpoints unavailable or break audio completely.