Skip to content

Commit

Permalink
IPC4: Workaround: Lock DP modules to same core as pipeline
Browse files Browse the repository at this point in the history
This commit prevents DP modueles from run on different cores than
the pipleine LL modules. This limitation is enforced because of
possible cache races in pipeline_for_each_comp()
To be removed till safe implementation is ready

Signed-off-by: Marcin Szkudlinski <[email protected]>
  • Loading branch information
marcinszkudlinski authored and lgirdwood committed Mar 14, 2023
1 parent eeeec95 commit ada31db
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/audio/pipeline/pipeline-params.c
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,17 @@ static int pipeline_comp_prepare(struct comp_dev *current,
#if CONFIG_ZEPHYR_DP_SCHEDULER
case COMP_PROCESSING_DOMAIN_DP:
/* this is a DP scheduled module */
err = pipeline_comp_dp_task_init(current);

/*
* workaround - because of some issues with cache, currently we can allow DP
* modules to run on the same core as LL pipeline only.
* to be removed once buffering is fixed
*/
if (current->pipeline->core != current->ipc_config.core)
err = -EINVAL;
else
err = pipeline_comp_dp_task_init(current);

break;
#endif /* CONFIG_ZEPHYR_DP_SCHEDULER */

Expand Down

0 comments on commit ada31db

Please sign in to comment.