zephyr/soc/intel/intel_adsp
Flavio Ceolin 07426a800c intel_adsp/ace: power: Lock interruption when power gate fails
In case the core is not power gated, waiti will restore intlevel. In
this case we lock interruption after it.

In the bug scenario, the host starts streaming and via SOF APIs, keeps a
lock to prevent Zephyr from entering PM_STATE_RUNTIME_IDLE. During the
test case, host removes this block and core0 is allowed to enter IDLE
state.

When core0 enters power gated state, interrrupts are left enabled (so
the core can be woken up when something happens). This leaves a race
where suitably timed interrupt will actually block entry to power gated
state and k_cpu_idle() in power_gate_entry() will return. This is rare,
but happens often enough that the relatively short test plan run on SOF
pull-requests will trigger this case.

Fixes #69807

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-12 15:12:57 -05:00
..
ace intel_adsp/ace: power: Lock interruption when power gate fails 2024-03-12 15:12:57 -05:00
cavs xtensa: make assembly-called functions static 2024-03-11 14:26:06 +01:00
common xtensa: make assembly-called functions static 2024-03-11 14:26:06 +01:00
tools
CMakeLists.txt
Kconfig
Kconfig.defconfig
Kconfig.soc
soc.yml