Re: [PATCH v2 3/3] usb: renesas_usbhs: Reorder clock handling and power management in probe

From: Geert Uytterhoeven
Date: Tue Apr 08 2025 - 11:45:46 EST


Hi Shimoda-san,

On Tue, 8 Apr 2025 at 12:40, Yoshihiro Shimoda
<yoshihiro.shimoda.uh@xxxxxxxxxxx> wrote:
> > From: Prabhakar, Sent: Monday, April 7, 2025 7:50 PM
> >
> > Reorder the initialization sequence in `usbhs_probe()` to enable runtime
> > PM before accessing registers, preventing potential crashes due to
> > uninitialized clocks.
>
> Just for a record. I don't know why, but the issue didn't occur on the original code
> with my environment (R-Car H3). But, anyway, I understood that we need this patch for RZ/V2H.

On R-Car Gen3 and later, the firmware must trap the external abort,
as usually no crash happens, but register reads return zero when
the module clock is turned off. I am wondering why RZ/V2H behaves
differently than R-Car Gen3?

On R-Car Gen2, you do get an external abort when accessing hardware
registers while the module's clock is turned off. Has anyone tested
usbhs on R-Car Gen2 recently?

> ----- I added some debug printk -----
> <snip>
> [ 3.193400] usbhs_probe:706
> [ 3.196204] usbhs_probe:710
> [ 3.199012] usbhs_probe:715
> [ 3.201808] usbhs_probe:720
> [ 3.204605] usbhs_read: reg = 0

Hmm, did it read back sensible data?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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