From e76851b9a51a6c0b1a2c2b19bc494369488a11bc Mon Sep 17 00:00:00 2001 From: Marcin Szkudlinski Date: Mon, 28 Nov 2022 15:57:51 +0100 Subject: [PATCH] [ABI] IMRheap preparation - add config and flags Add - a kconfig option enabling a heap in L3 - a memory capability flag SOF_MEM_CAPS_L3 + small cleanup in whitespaces Signed-off-by: Marcin Szkudlinski --- app/boards/intel_adsp_ace15_mtpm.conf | 1 + src/include/ipc/topology.h | 18 ++++++++++-------- src/include/kernel/abi.h | 2 +- src/platform/Kconfig | 11 +++++++++++ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/boards/intel_adsp_ace15_mtpm.conf b/app/boards/intel_adsp_ace15_mtpm.conf index 49a1fe0f4..cf05be1ef 100644 --- a/app/boards/intel_adsp_ace15_mtpm.conf +++ b/app/boards/intel_adsp_ace15_mtpm.conf @@ -33,6 +33,7 @@ CONFIG_INTEL_ADSP_TIMER=y CONFIG_MM_DRV_INTEL_ADSP_TLB_REMAP_UNUSED_RAM=y CONFIG_HEAP_MEM_POOL_SIZE=8192 +CONFIG_L3_HEAP=n CONFIG_RIMAGE_SIGNING_SCHEMA="mtl" CONFIG_FORMAT_CONVERT_HIFI3=n diff --git a/src/include/ipc/topology.h b/src/include/ipc/topology.h index 06c719018..ae29cf1f4 100644 --- a/src/include/ipc/topology.h +++ b/src/include/ipc/topology.h @@ -77,14 +77,16 @@ struct sof_ipc_comp { /* * SOF memory capabilities, add new ones at the end */ -#define SOF_MEM_CAPS_RAM (1 << 0) -#define SOF_MEM_CAPS_ROM (1 << 1) -#define SOF_MEM_CAPS_EXT (1 << 2) /**< external */ -#define SOF_MEM_CAPS_LP (1 << 3) /**< low power */ -#define SOF_MEM_CAPS_HP (1 << 4) /**< high performance */ -#define SOF_MEM_CAPS_DMA (1 << 5) /**< DMA'able */ -#define SOF_MEM_CAPS_CACHE (1 << 6) /**< cacheable */ -#define SOF_MEM_CAPS_EXEC (1 << 7) /**< executable */ +#define SOF_MEM_CAPS_RAM BIT(0) +#define SOF_MEM_CAPS_ROM BIT(1) +#define SOF_MEM_CAPS_EXT BIT(2) /**< external */ +#define SOF_MEM_CAPS_LP BIT(3) /**< low power */ +#define SOF_MEM_CAPS_HP BIT(4) /**< high performance */ +#define SOF_MEM_CAPS_DMA BIT(5) /**< DMA'able */ +#define SOF_MEM_CAPS_CACHE BIT(6) /**< cacheable */ +#define SOF_MEM_CAPS_EXEC BIT(7) /**< executable */ +#define SOF_MEM_CAPS_L3 BIT(8) /**< L3 memory */ + /* * overrun will cause ring buffer overwrite, instead of XRUN. */ diff --git a/src/include/kernel/abi.h b/src/include/kernel/abi.h index cad7718b4..f25570845 100644 --- a/src/include/kernel/abi.h +++ b/src/include/kernel/abi.h @@ -29,7 +29,7 @@ /** \brief SOF ABI version major, minor and patch numbers */ #define SOF_ABI_MAJOR 3 -#define SOF_ABI_MINOR 25 +#define SOF_ABI_MINOR 26 #define SOF_ABI_PATCH 0 /** \brief SOF ABI version number. Format within 32bit word is MMmmmppp */ diff --git a/src/platform/Kconfig b/src/platform/Kconfig index b9d637ed6..1bca0ebee 100644 --- a/src/platform/Kconfig +++ b/src/platform/Kconfig @@ -477,6 +477,17 @@ config CAVS_USE_LPRO_IN_WAITI After waiti exit clock source will be restored. Choose n if unclear. +config L3_HEAP + bool "Use L3 memory heap" + default n + help + Select this if L3 memory is supported on the platform and + it is intended to be used for dynamic allocations. + For Intel ACE platform the L3 memory is called + IMR (Isolated Memory Region). Feature has been + only tested on ACE platform. + Choose n if unclear. + config CAVS_IMR_D3_PERSISTENT bool "Intel IMR content persistent on DSP in D3" depends on CAVS && !CAVS_VERSION_1_5