mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 00:51:42 +01:00 
			
		
		
		
	When CONFIG_SPIRAM is set, the TLSF_MAX_POOL_SIZE is set to SOC_EXTRAM_DATA_SIZE which caused the TLSF_MAX_POOL_SIZE to be bigger than 16MB. This commit fixes the issue by adding an extra else if case to cover this configuration.
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier: Apache-2.0
 | 
						|
 */
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include <stddef.h>
 | 
						|
#include <stdbool.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef ESP_PLATFORM
 | 
						|
#include "soc/soc.h"
 | 
						|
 | 
						|
#if !CONFIG_SPIRAM
 | 
						|
#define TLSF_MAX_POOL_SIZE (SOC_DIRAM_DRAM_HIGH - SOC_DIRAM_DRAM_LOW)
 | 
						|
#else
 | 
						|
#define TLSF_MAX_POOL_SIZE SOC_EXTRAM_DATA_SIZE
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
 | 
						|
#if (TLSF_MAX_POOL_SIZE <= (256 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 18 //Each pool can have up 256KB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (512 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 19 //Each pool can have up 512KB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (1 * 1024 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 20 //Each pool can have up 1MB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (2 * 1024 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 21 //Each pool can have up 2MB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (4 * 1024 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 22 //Each pool can have up 4MB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (8 * 1024 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 23 //Each pool can have up 8MB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (16 * 1024 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 24 //Each pool can have up 16MB
 | 
						|
#elif (TLSF_MAX_POOL_SIZE <= (32 * 1024 * 1024))
 | 
						|
#define FL_INDEX_MAX_PLATFORM 25 //Each pool can have up 32MB
 | 
						|
#else
 | 
						|
#error "Higher TLSF pool sizes should be added for this new config"
 | 
						|
#endif
 | 
						|
 | 
						|
/* Include from the TLSF submodule to force TLSF_INDEX_MAX_PLATFORM to be defined
 | 
						|
 * when the TLSF repository is compiled in the IDF environment. */
 | 
						|
#include "tlsf_common.h"
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |