mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
fix(cache): fixed SOC_CACHE_FREEZE_SUPPORTED not defined on c3/c2 issue
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -162,6 +162,32 @@ static inline void cache_ll_invalidate_all(uint32_t cache_level, cache_type_t ty
|
|||||||
Cache_Invalidate_ICache_All();
|
Cache_Invalidate_ICache_All();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Freeze Cache
|
||||||
|
*
|
||||||
|
* @param cache_level level of the cache
|
||||||
|
* @param type see `cache_type_t`
|
||||||
|
* @param cache_id id of the cache in this type and level
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void cache_ll_freeze_cache(uint32_t cache_level, cache_type_t type, uint32_t cache_id)
|
||||||
|
{
|
||||||
|
Cache_Freeze_ICache_Enable(CACHE_FREEZE_ACK_BUSY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Unfreeze Cache
|
||||||
|
*
|
||||||
|
* @param cache_level level of the cache
|
||||||
|
* @param type see `cache_type_t`
|
||||||
|
* @param cache_id id of the cache in this type and level
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void cache_ll_unfreeze_cache(uint32_t cache_level, cache_type_t type, uint32_t cache_id)
|
||||||
|
{
|
||||||
|
Cache_Freeze_ICache_Disable();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get Cache line size, in bytes
|
* @brief Get Cache line size, in bytes
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -165,6 +165,32 @@ static inline void cache_ll_invalidate_all(uint32_t cache_level, cache_type_t ty
|
|||||||
Cache_Invalidate_ICache_All();
|
Cache_Invalidate_ICache_All();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Freeze Cache
|
||||||
|
*
|
||||||
|
* @param cache_level level of the cache
|
||||||
|
* @param type see `cache_type_t`
|
||||||
|
* @param cache_id id of the cache in this type and level
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void cache_ll_freeze_cache(uint32_t cache_level, cache_type_t type, uint32_t cache_id)
|
||||||
|
{
|
||||||
|
Cache_Freeze_ICache_Enable(CACHE_FREEZE_ACK_BUSY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Unfreeze Cache
|
||||||
|
*
|
||||||
|
* @param cache_level level of the cache
|
||||||
|
* @param type see `cache_type_t`
|
||||||
|
* @param cache_id id of the cache in this type and level
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void cache_ll_unfreeze_cache(uint32_t cache_level, cache_type_t type, uint32_t cache_id)
|
||||||
|
{
|
||||||
|
Cache_Freeze_ICache_Disable();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get Cache line size, in bytes
|
* @brief Get Cache line size, in bytes
|
||||||
*
|
*
|
||||||
|
@ -227,6 +227,10 @@ config SOC_SHARED_IDCACHE_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_CACHE_FREEZE_SUPPORTED
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_CPU_CORES_NUM
|
config SOC_CPU_CORES_NUM
|
||||||
int
|
int
|
||||||
default 1
|
default 1
|
||||||
|
@ -93,6 +93,7 @@
|
|||||||
|
|
||||||
/*-------------------------- CACHE CAPS --------------------------------------*/
|
/*-------------------------- CACHE CAPS --------------------------------------*/
|
||||||
#define SOC_SHARED_IDCACHE_SUPPORTED 1 //Shared Cache for both instructions and data
|
#define SOC_SHARED_IDCACHE_SUPPORTED 1 //Shared Cache for both instructions and data
|
||||||
|
#define SOC_CACHE_FREEZE_SUPPORTED 1
|
||||||
|
|
||||||
/*-------------------------- CPU CAPS ----------------------------------------*/
|
/*-------------------------- CPU CAPS ----------------------------------------*/
|
||||||
#define SOC_CPU_CORES_NUM (1U)
|
#define SOC_CPU_CORES_NUM (1U)
|
||||||
|
@ -315,6 +315,10 @@ config SOC_SHARED_IDCACHE_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_CACHE_FREEZE_SUPPORTED
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_CACHE_MEMORY_IBANK_SIZE
|
config SOC_CACHE_MEMORY_IBANK_SIZE
|
||||||
hex
|
hex
|
||||||
default 0x4000
|
default 0x4000
|
||||||
|
@ -125,6 +125,7 @@
|
|||||||
|
|
||||||
/*-------------------------- CACHE CAPS --------------------------------------*/
|
/*-------------------------- CACHE CAPS --------------------------------------*/
|
||||||
#define SOC_SHARED_IDCACHE_SUPPORTED 1 //Shared Cache for both instructions and data
|
#define SOC_SHARED_IDCACHE_SUPPORTED 1 //Shared Cache for both instructions and data
|
||||||
|
#define SOC_CACHE_FREEZE_SUPPORTED 1
|
||||||
#define SOC_CACHE_MEMORY_IBANK_SIZE 0x4000 // has to be same as the definition in ROM component
|
#define SOC_CACHE_MEMORY_IBANK_SIZE 0x4000 // has to be same as the definition in ROM component
|
||||||
|
|
||||||
/*-------------------------- CPU CAPS ----------------------------------------*/
|
/*-------------------------- CPU CAPS ----------------------------------------*/
|
||||||
|
Reference in New Issue
Block a user