xtensa: return to idle() when booting sporadically
To power down secondary cores on cAVS 2.5 platforms the primary core enables the power-saving mode for the respective secondary core and waits until that core enters idle() and executes the waiti instruction at which point the core should enter a lower-power mode. However, that core can then also automatically wake up and execute its reset path if, e.g. an interrupt is delivered to it. However, it isn't entirely clear which events are able to wake up cores from that state. Disabling interrupts on the interrupt controller didn't seem to prevent that from happening completely. In particular a specific ADL notebook seems to be susceptible to this problem. Checking for such sporadic boots and returning to idle fixes the problem. BugLink: https://github.com/zephyrproject-rtos/zephyr/issues/46372 BugLink: https://github.com/thesofproject/sof/issues/5733 Signed-off-by:Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Loading
Please sign in to comment