forked from espressif/esp-idf
fix(esp_hw_support): fix ipc_isr pause/resume order in sleep process
This commit is contained in:
@@ -586,7 +586,6 @@ void sleep_smp_cpu_sleep_prepare(void)
|
|||||||
esp_ipc_isr_call((esp_ipc_isr_func_t)smp_core_do_retention, NULL);
|
esp_ipc_isr_call((esp_ipc_isr_func_t)smp_core_do_retention, NULL);
|
||||||
#else
|
#else
|
||||||
esp_ipc_isr_stall_other_cpu();
|
esp_ipc_isr_stall_other_cpu();
|
||||||
esp_ipc_isr_stall_pause();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -601,7 +600,6 @@ void sleep_smp_cpu_wakeup_prepare(void)
|
|||||||
}
|
}
|
||||||
atomic_store(&s_smp_retention_state[core_id], SMP_IDLE);
|
atomic_store(&s_smp_retention_state[core_id], SMP_IDLE);
|
||||||
#else
|
#else
|
||||||
esp_ipc_isr_stall_resume();
|
|
||||||
esp_ipc_isr_release_other_cpu();
|
esp_ipc_isr_release_other_cpu();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@@ -1244,8 +1244,8 @@ esp_err_t esp_light_sleep_start(void)
|
|||||||
sleep_smp_cpu_sleep_prepare();
|
sleep_smp_cpu_sleep_prepare();
|
||||||
#else
|
#else
|
||||||
esp_ipc_isr_stall_other_cpu();
|
esp_ipc_isr_stall_other_cpu();
|
||||||
esp_ipc_isr_stall_pause();
|
|
||||||
#endif
|
#endif
|
||||||
|
esp_ipc_isr_stall_pause();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION && CONFIG_PM_SLP_IRAM_OPT
|
#if CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION && CONFIG_PM_SLP_IRAM_OPT
|
||||||
@@ -1395,10 +1395,10 @@ esp_err_t esp_light_sleep_start(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !CONFIG_FREERTOS_UNICORE
|
#if !CONFIG_FREERTOS_UNICORE
|
||||||
|
esp_ipc_isr_stall_resume();
|
||||||
#if CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP && SOC_PM_CPU_RETENTION_BY_SW
|
#if CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP && SOC_PM_CPU_RETENTION_BY_SW
|
||||||
sleep_smp_cpu_wakeup_prepare();
|
sleep_smp_cpu_wakeup_prepare();
|
||||||
#else
|
#else
|
||||||
esp_ipc_isr_stall_resume();
|
|
||||||
esp_ipc_isr_release_other_cpu();
|
esp_ipc_isr_release_other_cpu();
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user