diff mbox series

[RESEND,RFC,09/12] of: FDT vaddr support for SH.

Message ID fb76aed2eb920d4f6accb67774103eb478fe25fe.1693444193.git.ysato@users.sourceforge.jp (mailing list archive)
State New, archived
Headers show
Series DeviceTree support for SH7751 based boards. | expand

Commit Message

Yoshinori Sato Aug. 31, 2023, 1:11 a.m. UTC
sh using virt address in FDT.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
---
 drivers/of/fdt.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Krzysztof Kozlowski Aug. 31, 2023, 6:48 a.m. UTC | #1
On 31/08/2023 03:11, Yoshinori Sato wrote:
> sh using virt address in FDT.
> 
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> ---

Please use scripts/get_maintainers.pl to get a list of necessary people
and lists to CC (and consider --no-git-fallback argument). It might
happen, that command when run on an older kernel, gives you outdated
entries. Therefore please be sure you base your patches on recent Linux
kernel.

Best regards,
Krzysztof
Geert Uytterhoeven Sept. 1, 2023, 1:11 p.m. UTC | #2
Hi Sato-san,

On Thu, Aug 31, 2023 at 5:18 AM Yoshinori Sato
<ysato@users.sourceforge.jp> wrote:
> sh using virt address in FDT.
>
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>

Thanks for your patch!

> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -643,6 +643,9 @@ void __init early_init_fdt_scan_reserved_mem(void)
>                 fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
>                 if (!size)
>                         break;
> +#ifdef CONFIG_SUPERH
> +               base = virt_to_phys(base);
> +#endif

I guess this is a no-go.
Why can't you use physical address, like all other platforms?

>                 memblock_reserve(base, size);
>         }
>

Gr{oetje,eeting}s,

                        Geert
Yoshinori Sato Sept. 1, 2023, 1:33 p.m. UTC | #3
On Fri, 01 Sep 2023 22:11:01 +0900,
Geert Uytterhoeven wrote:
> 
> Hi Sato-san,
> 
> On Thu, Aug 31, 2023 at 5:18 AM Yoshinori Sato
> <ysato@users.sourceforge.jp> wrote:
> > sh using virt address in FDT.
> >
> > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> 
> Thanks for your patch!
> 
> > --- a/drivers/of/fdt.c
> > +++ b/drivers/of/fdt.c
> > @@ -643,6 +643,9 @@ void __init early_init_fdt_scan_reserved_mem(void)
> >                 fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
> >                 if (!size)
> >                         break;
> > +#ifdef CONFIG_SUPERH
> > +               base = virt_to_phys(base);
> > +#endif
> 
> I guess this is a no-go.
> Why can't you use physical address, like all other platforms?

I changed this before so I don't remember the exact details,
but I feel like it was related to the built-in DTB.
I think the correct way is to handle it in the SH dependent part.

> >                 memblock_reserve(base, size);
> >         }
> >
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
diff mbox series

Patch

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index bf502ba8da95..846df856f258 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -643,6 +643,9 @@  void __init early_init_fdt_scan_reserved_mem(void)
 		fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
 		if (!size)
 			break;
+#ifdef CONFIG_SUPERH
+		base = virt_to_phys(base);
+#endif
 		memblock_reserve(base, size);
 	}