Skip to content

ASoC: SOF: Intel: avoid partial SDW machine matches on ACE 2.0+#5728

Open
bardliao wants to merge 1 commit intothesofproject:topic/sof-devfrom
bardliao:exactly-match
Open

ASoC: SOF: Intel: avoid partial SDW machine matches on ACE 2.0+#5728
bardliao wants to merge 1 commit intothesofproject:topic/sof-devfrom
bardliao:exactly-match

Conversation

@bardliao
Copy link
Copy Markdown
Collaborator

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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_mask matches 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.

Comment thread sound/soc/sof/intel/hda.c Outdated
Comment thread sound/soc/sof/intel/hda.c Outdated
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>
Copilot AI review requested due to automatic review settings April 13, 2026 05:21
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread sound/soc/sof/intel/hda.c
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))
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants