soc: intel_adsp/ace: fix CPU halting

() The check for whether the CPU is already active before halting
   was incorrect. It should only fail if the CPU is not active,
   but the CHECKIF() conditional was inverted. So invert it.

() Also need to set the entry in the bookkeeping array to false
   once a CPU is considered powered down.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
Daniel Leung 2022-09-30 12:23:53 -07:00 committed by Anas Nashif
parent 13298c7a6a
commit 81908cd367

View File

@ -113,7 +113,7 @@ int soc_adsp_halt_cpu(int id)
return -EINVAL;
}
CHECKIF(soc_cpus_active[id]) {
CHECKIF(!soc_cpus_active[id]) {
return -EINVAL;
}
@ -131,5 +131,8 @@ int soc_adsp_halt_cpu(int id)
return -EINVAL;
}
/* Stop sending IPIs to this core */
soc_cpus_active[id] = false;
return 0;
}