Skip to content

DSP core management refinement series#2850

Closed
keyonjie wants to merge 7 commits intothesofproject:topic/sof-devfrom
keyonjie:multi_core
Closed

DSP core management refinement series#2850
keyonjie wants to merge 7 commits intothesofproject:topic/sof-devfrom
keyonjie:multi_core

Conversation

@keyonjie
Copy link
Copy Markdown

This is aim to address issue #2824

This basically comes from the old PR #888.

It enable the widget/component-level multi-core support via below changes:

  1. add ref counts for each DSP cores.
  2. add cores_status_mutex to protect core status.
  3. update ref counts of cores and enabled_core_mask at probe, suspend, and FW booted to proper values.
  4. add helpers snd_sof_dsp_core_get/put as the unified DSP cores access at runtime, which will manage the ref counts and enabled_core_mask internally.
  5. switch to use the unified interface at _widget_setup() and _widget_free() for DSP cores power control.
  6. with the above implemented, a bonus is that we can support decent pipelines tearing down on suspending now.

This is verified on TGL platform with DSM run on the Core 1 and others on Core 0.

Loading
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.

8 participants