From: Heiko Stübner Date: Sun, 04 Dec 2022 22:52:03 +0100 Subject: [PATCH v2 02/13] riscv: move riscv_noncoherent_supported() out of ZICBOM probe In-Reply-To: <20221204174632.3677-3-jszhang@kernel.org> References: <20221204174632.3677-1-jszhang@kernel.org> <20221204174632.3677-3-jszhang@kernel.org> Message-ID: <5629547.DvuYhMxLoT@diego> List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Am Sonntag, 4. Dezember 2022, 18:46:21 CET schrieb Jisheng Zhang: > 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 > Reviewed-by: Andrew Jones > Reviewed-by: Conor Dooley > --- > arch/riscv/kernel/cpufeature.c | 1 - > arch/riscv/kernel/setup.c | 2 ++ > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > index c743f0adc794..364d1fe86bea 100644 > --- a/arch/riscv/kernel/cpufeature.c > +++ b/arch/riscv/kernel/cpufeature.c > @@ -274,7 +274,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; > } > > diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c > index 86acd690d529..6eea40bf8c6b 100644 > --- a/arch/riscv/kernel/setup.c > +++ b/arch/riscv/kernel/setup.c > @@ -300,6 +300,8 @@ void __init setup_arch(char **cmdline_p) > riscv_init_cbom_blocksize(); > riscv_fill_hwcap(); > apply_boot_alternatives(); > + if (riscv_isa_extension_available(NULL, ZICBOM)) > + riscv_noncoherent_supported(); hmm, this changes the behaviour slightly. In the probe function there is the if (!IS_ENABLED(CONFIG_RISCV_ISA_ZICBOM)) return false; at the top, so with this change the second WARN_TAINT in arch_setup_dma_ops will behave differently Heiko