mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'fix/fix_pm_assert_if_slp_iram_opt_is_disabled' into 'master'
fix(esp_hw_support): fix different cache writeback cost make sleep time compensation failed Closes PM-651 See merge request espressif/esp-idf!45205
This commit is contained in:
@@ -1162,18 +1162,6 @@ static esp_err_t SLEEP_FN_ATTR esp_sleep_start(uint32_t sleep_flags, uint32_t cl
|
||||
if (!deep_sleep) {
|
||||
if (result == ESP_OK) {
|
||||
s_config.ccount_ticks_record = esp_cpu_get_cycle_count();
|
||||
#if !CONFIG_PM_SLP_IRAM_OPT && !(CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32P4)
|
||||
#if CONFIG_SPIRAM
|
||||
// TODO: PM-651
|
||||
Cache_WriteBack_All();
|
||||
#endif
|
||||
/* When the IRAM optimization for the sleep flow is disabled, all
|
||||
* cache contents are forcibly invalidated before exiting the sleep
|
||||
* flow. This ensures that the code execution time of sleep exit
|
||||
* flow remains consistent, allowing the use of ccount to
|
||||
* dynamically calculate the sleep adjustment time. */
|
||||
cache_ll_invalidate_all(CACHE_LL_LEVEL_ALL, CACHE_TYPE_ALL, CACHE_LL_ID_ALL);
|
||||
#endif
|
||||
}
|
||||
misc_modules_wake_prepare(sleep_flags);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user