Re: [PATCH] lib: utils/regmap: Fix reg_stride calculation in syscon regmap

Anup Patel <[email protected]>
Newsgroups org.infradead.lists.opensbi
Message-ID <CAK9=C2W7V=fuBXn5CUJoJTZiOTDfmW0mB+58A1+8812X=qQKyA@mail.gmail.com>
On Sat, Apr 4, 2026 at 1:59 AM David E. Garcia Porras
<[email protected]> wrote:
>
> The reg_stride field represents the address stride in bytes between
> consecutive registers. The Linux kernel regmap framework validates
> register accesses using IS_ALIGNED(reg, map->reg_stride) as an address
> alignment check (drivers/base/regmap/regmap.c). The Linux kernel syscon
> driver (drivers/mfd/syscon.c) sets reg_stride directly to reg_io_width:
>
>   syscon_config.reg_stride = reg_io_width;
>
> The current OpenSBI code incorrectly multiplies reg_io_width by 8,
> converting a byte value to bits. Fix this by using reg_io_width directly
> as the stride value, consistent with the Linux kernel.
>
> Signed-off-by: David E. Garcia Porras <[email protected]>

Fixes tag is missing but I will add this at the time of merging.

Reviewed-by: Anup Patel <[email protected]>

Applied this patch to the riscv/opensbi repo.

Thanks,
Anup

> ---
>  lib/utils/regmap/fdt_regmap_syscon.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/utils/regmap/fdt_regmap_syscon.c b/lib/utils/regmap/fdt_regmap_syscon.c
> index 1309a55c..59cd5ee5 100644
> --- a/lib/utils/regmap/fdt_regmap_syscon.c
> +++ b/lib/utils/regmap/fdt_regmap_syscon.c
> @@ -190,7 +190,7 @@ static int regmap_syscon_init(const void *fdt, int nodeoff,
>
>         srm->rmap.id = nodeoff;
>         srm->rmap.reg_shift = 0;
> -       srm->rmap.reg_stride = srm->reg_io_width * 8;
> +       srm->rmap.reg_stride = srm->reg_io_width;
>         srm->rmap.reg_base = 0;
>         srm->rmap.reg_max = size / srm->reg_io_width;
>         switch (srm->reg_io_width) {
> --
> 2.43.0
>
>
> --
> opensbi mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/opensbi

-- 
opensbi mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/opensbi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.