esp-idf/components/esp_mm/cache_esp32.c

34 wiersze
727 B
C

/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <sys/param.h>
#include <inttypes.h>
#include "sdkconfig.h"
#include "rom/cache.h"
#include "esp_private/esp_cache_esp32_private.h"
static cache_driver_t s_cache_drv = {
Cache_Flush,
NULL,
};
void cache_register_writeback(cache_driver_t *func)
{
s_cache_drv.cache_writeback_psram = func->cache_writeback_psram;
}
void cache_sync(void)
{
if (s_cache_drv.cache_writeback_psram) {
s_cache_drv.cache_writeback_psram();
}
s_cache_drv.cache_flush(0);
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
s_cache_drv.cache_flush(1);
#endif // !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
}