lib: utils/cache: add cache enable function

Add functions to enable/disable the cache.

Signed-off-by: Ben Zong-You Xie <ben717@andestech.com>
Link: https://lore.kernel.org/r/20251229071914.1451587-4-ben717@andestech.com
Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Ben Zong-You Xie
2025-12-29 15:19:12 +08:00
committed by Anup Patel
parent 85bff9cc16
commit 6d26b43c47
4 changed files with 58 additions and 0 deletions

View File

@@ -41,6 +41,29 @@ int fdt_cmo_llc_flush_all(void)
return cache_flush_all(llc);
}
int fdt_cmo_private_flc_enable(bool enable)
{
struct cache_device *flc = get_hart_flc(sbi_scratch_thishart_ptr());
if (!flc || !flc->cpu_private)
return SBI_ENODEV;
return cache_enable(flc, enable);
}
int fdt_cmo_llc_enable(bool enable)
{
struct cache_device *llc = get_hart_flc(sbi_scratch_thishart_ptr());
if (!llc)
return SBI_ENODEV;
while (llc->next)
llc = llc->next;
return cache_enable(llc, enable);
}
static int fdt_cmo_cold_init(const void *fdt)
{
struct sbi_scratch *scratch;