riscv: move riscv_noncoherent_supported() out of ZICBOM probe
authorJisheng Zhang <jszhang@kernel.org>
Sat, 28 Jan 2023 17:28:44 +0000 (01:28 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 1 Feb 2023 07:29:33 +0000 (23:29 -0800)
It's a bit weird to call riscv_noncoherent_supported() each time when
insmoding a module. Move the calling out of feature patch func.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230128172856.3814-2-jszhang@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/kernel/cpufeature.c
arch/riscv/kernel/setup.c

index dde0e91..62443fd 100644 (file)
@@ -298,7 +298,6 @@ static bool __init_or_module cpufeature_probe_zicbom(unsigned int stage)
        if (!riscv_isa_extension_available(NULL, ZICBOM))
                return false;
 
-       riscv_noncoherent_supported();
        return true;
 }
 
index 86acd69..376d282 100644 (file)
@@ -300,6 +300,9 @@ void __init setup_arch(char **cmdline_p)
        riscv_init_cbom_blocksize();
        riscv_fill_hwcap();
        apply_boot_alternatives();
+       if (IS_ENABLED(CONFIG_RISCV_ISA_ZICBOM) &&
+           riscv_isa_extension_available(NULL, ZICBOM))
+               riscv_noncoherent_supported();
 }
 
 static int __init topology_init(void)