[PATCH 1/9] RISC-V: Factor out body of riscv_init_cbom_blocksize loop
Conor Dooley
conor at kernel.org
Sun Oct 30 13:31:46 PDT 2022
On Thu, Oct 27, 2022 at 03:02:39PM +0200, Andrew Jones wrote:
> Refactor riscv_init_cbom_blocksize() to prepare for it to be used
> for both cbom block size and cboz block size.
>
> Signed-off-by: Andrew Jones <ajones at ventanamicro.com>
> ---
> arch/riscv/mm/cacheflush.c | 45 +++++++++++++++++++++-----------------
> 1 file changed, 25 insertions(+), 20 deletions(-)
>
> diff --git a/arch/riscv/mm/cacheflush.c b/arch/riscv/mm/cacheflush.c
> index 57b40a350420..f096b9966cae 100644
> --- a/arch/riscv/mm/cacheflush.c
> +++ b/arch/riscv/mm/cacheflush.c
> @@ -91,34 +91,39 @@ void flush_icache_pte(pte_t pte)
> unsigned int riscv_cbom_block_size;
> EXPORT_SYMBOL_GPL(riscv_cbom_block_size);
>
> +static void cbo_get_block_size(struct device_node *node,
> + const char *name, u32 *blksz,
Is there a reason you called this "blksz" when we are using the spelt
out "block_size" everywhere else in this code? My OCD would appreciate
the consistency :s
Other than that:
Reviewed-by: Conor Dooley <conor.dooley at microchip.com>
> + unsigned long *first_hartid)
> +{
> + unsigned long hartid;
> + u32 val;
> +
> + if (riscv_of_processor_hartid(node, &hartid))
> + return;
> +
> + if (of_property_read_u32(node, name, &val))
> + return;
> +
> + if (!*blksz) {
> + *blksz = val;
> + *first_hartid = hartid;
> + } else if (*blksz != val) {
> + pr_warn("%s mismatched between harts %lu and %lu\n",
> + name, *first_hartid, hartid);
> + }
> +}
> +
> void riscv_init_cbom_blocksize(void)
> {
> struct device_node *node;
> unsigned long cbom_hartid;
> - u32 val, probed_block_size;
> - int ret;
> + u32 probed_block_size;
>
> probed_block_size = 0;
> for_each_of_cpu_node(node) {
> - unsigned long hartid;
> -
> - ret = riscv_of_processor_hartid(node, &hartid);
> - if (ret)
> - continue;
> -
> /* set block-size for cbom extension if available */
> - ret = of_property_read_u32(node, "riscv,cbom-block-size", &val);
> - if (ret)
> - continue;
> -
> - if (!probed_block_size) {
> - probed_block_size = val;
> - cbom_hartid = hartid;
> - } else {
> - if (probed_block_size != val)
> - pr_warn("cbom-block-size mismatched between harts %lu and %lu\n",
> - cbom_hartid, hartid);
> - }
> + cbo_get_block_size(node, "riscv,cbom-block-size",
> + &probed_block_size, &cbom_hartid);
> }
>
> if (probed_block_size)
> --
> 2.37.3
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
More information about the kvm-riscv
mailing list