dev_dbg(dev, "%s\n", __func__);
- if (cluster->mode == CLUSTER_MODE_LOCKSTEP)
+ if ((cluster->mode == CLUSTER_MODE_LOCKSTEP) || (cluster->mode == CLUSTER_MODE_SINGLECPU))
ret = k3_r5f_lockstep_release(cluster);
else
ret = k3_r5f_split_release(core);
return -EINVAL;
}
+ if (cluster->mode == CLUSTER_MODE_SINGLECPU && !is_primary_core(core)) {
+ dev_err(core->dev,
+ "Invalid op: Trying to start secondary core %d in single CPU mode\n",
+ core->tsp.proc_id);
+ return -EINVAL;
+ }
+
if (cluster->mode == CLUSTER_MODE_SPLIT && !is_primary_core(core)) {
if (!core->cluster->cores[0]->in_use) {
dev_err(core->dev,
{
struct k3_r5f_cluster *cluster = core->cluster;
- if (cluster->mode == CLUSTER_MODE_LOCKSTEP)
+ if ((cluster->mode == CLUSTER_MODE_LOCKSTEP) || (cluster->mode == CLUSTER_MODE_SINGLECPU))
return;
if (!core->ipdata->tcm_is_double)