From b052143077a0e0258f4363c1c2c6eddff143c80b Mon Sep 17 00:00:00 2001 From: Jakub Dabek Date: Mon, 24 Oct 2022 17:13:08 +0200 Subject: [PATCH] memory manager: Add runtime memory discovery Add runtime physical memory discovery. This allows platforms with different physical memory sizes to use the same driver for memory management. Signed-off-by: Jakub Dabek --- drivers/mm/mm_drv_intel_adsp_mtl_tlb.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mm/mm_drv_intel_adsp_mtl_tlb.c b/drivers/mm/mm_drv_intel_adsp_mtl_tlb.c index bd66f54fccb..0114ab83554 100644 --- a/drivers/mm/mm_drv_intel_adsp_mtl_tlb.c +++ b/drivers/mm/mm_drv_intel_adsp_mtl_tlb.c @@ -642,6 +642,15 @@ static int sys_mm_drv_mm_init(const struct device *dev) ARG_UNUSED(dev); + /* + * Change size of avalible physical memory according to fw register information + * in runtime. + */ + + uint32_t avalible_memory_size = ace_hpsram_get_bank_count() * SRAM_BANK_SIZE; + + L2_PHYS_SRAM_REGION.num_blocks = avalible_memory_size / CONFIG_MM_DRV_PAGE_SIZE; + /* * Initialize memblocks that will store physical * page usage. Initially all physical pages are