mbox series

[0/4] pmdomain: renesas: rcar-sysc: Cleanups and R-Car M3-W quirk handling

Message ID cover.1713348705.git.geert+renesas@glider.be (mailing list archive)
Headers show
Series pmdomain: renesas: rcar-sysc: Cleanups and R-Car M3-W quirk handling | expand

Message

Geert Uytterhoeven April 17, 2024, 10:29 a.m. UTC
Hi all,

According to the hardware team, R-Car H3 ES1.0 and R-Car M3-W have a
rare quirk where powering down the A3IR, A3VC, and A3VP power domains
requires an extra delay of 1 µs.  So far upstream never handled that,
but the BSP has a fix[1].  As support for R-Car H3 ES1.x was dropped in
v6.4, only R-Car M3-W still needs to be handled.

The BSP fix relies on hard-coded string comparisons of power domain
names, and thus applies to all R-Car Gen3 SoCs (many introduced after
the original fix was written) having domains with a matching name,
whether they are affected or not.  Hence I took the opportunity to
refactor the R-Car SYSC driver first, and came up with a less-intrusive
fix.

Thanks for your comments!

[1] https://github.com/renesas-rcar/linux-bsp/commit/495e47e390499c522197352a08f423e8a3b41e83

Geert Uytterhoeven (4):
  pmdomain: renesas: rcar-sysc: Absorb rcar_sysc_ch into rcar_sysc_pd
  pmdomain: renesas: rcar-sysc: Split R-Car M3-W and M3-W+ sub-drivers
  pmdomain: renesas: rcar-sysc: Remove rcar_sysc_nullify() helper
  pmdomain: renesas: rcar-sysc: Add R-Car M3-W power-off delay quirk

 drivers/pmdomain/renesas/Makefile             |  4 +-
 .../{r8a7796-sysc.c => r8a77960-sysc.c}       | 34 +++------
 .../{r8a7796-sysc.c => r8a77961-sysc.c}       | 28 ++------
 drivers/pmdomain/renesas/rcar-sysc.c          | 70 ++++++++-----------
 drivers/pmdomain/renesas/rcar-sysc.h          |  9 +--
 5 files changed, 43 insertions(+), 102 deletions(-)
 copy drivers/pmdomain/renesas/{r8a7796-sysc.c => r8a77960-sysc.c} (64%)
 rename drivers/pmdomain/renesas/{r8a7796-sysc.c => r8a77961-sysc.c} (69%)

Comments

Kuninori Morimoto April 18, 2024, 12:17 a.m. UTC | #1
Hi Geert

Thank you for the patch

> According to the hardware team, R-Car H3 ES1.0 and R-Car M3-W have a
> rare quirk where powering down the A3IR, A3VC, and A3VP power domains
> requires an extra delay of 1 µs.  So far upstream never handled that,
> but the BSP has a fix[1].  As support for R-Car H3 ES1.x was dropped in
> v6.4, only R-Car M3-W still needs to be handled.
> 
> The BSP fix relies on hard-coded string comparisons of power domain
> names, and thus applies to all R-Car Gen3 SoCs (many introduced after
> the original fix was written) having domains with a matching name,
> whether they are affected or not.  Hence I took the opportunity to
> refactor the R-Car SYSC driver first, and came up with a less-intrusive
> fix.

For all patches

Reviewed-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>


Thank you for your help !!

Best regards
---
Renesas Electronics
Ph.D. Kuninori Morimoto
Ulf Hansson April 18, 2024, 2:55 p.m. UTC | #2
On Wed, 17 Apr 2024 at 12:31, Geert Uytterhoeven
<geert+renesas@glider.be> wrote:
>
>         Hi all,
>
> According to the hardware team, R-Car H3 ES1.0 and R-Car M3-W have a
> rare quirk where powering down the A3IR, A3VC, and A3VP power domains
> requires an extra delay of 1 µs.  So far upstream never handled that,
> but the BSP has a fix[1].  As support for R-Car H3 ES1.x was dropped in
> v6.4, only R-Car M3-W still needs to be handled.
>
> The BSP fix relies on hard-coded string comparisons of power domain
> names, and thus applies to all R-Car Gen3 SoCs (many introduced after
> the original fix was written) having domains with a matching name,
> whether they are affected or not.  Hence I took the opportunity to
> refactor the R-Car SYSC driver first, and came up with a less-intrusive
> fix.
>
> Thanks for your comments!
>
> [1] https://github.com/renesas-rcar/linux-bsp/commit/495e47e390499c522197352a08f423e8a3b41e83
>
> Geert Uytterhoeven (4):
>   pmdomain: renesas: rcar-sysc: Absorb rcar_sysc_ch into rcar_sysc_pd
>   pmdomain: renesas: rcar-sysc: Split R-Car M3-W and M3-W+ sub-drivers
>   pmdomain: renesas: rcar-sysc: Remove rcar_sysc_nullify() helper
>   pmdomain: renesas: rcar-sysc: Add R-Car M3-W power-off delay quirk
>
>  drivers/pmdomain/renesas/Makefile             |  4 +-
>  .../{r8a7796-sysc.c => r8a77960-sysc.c}       | 34 +++------
>  .../{r8a7796-sysc.c => r8a77961-sysc.c}       | 28 ++------
>  drivers/pmdomain/renesas/rcar-sysc.c          | 70 ++++++++-----------
>  drivers/pmdomain/renesas/rcar-sysc.h          |  9 +--
>  5 files changed, 43 insertions(+), 102 deletions(-)
>  copy drivers/pmdomain/renesas/{r8a7796-sysc.c => r8a77960-sysc.c} (64%)
>  rename drivers/pmdomain/renesas/{r8a7796-sysc.c => r8a77961-sysc.c} (69%)
>

Applied for next, thanks!

Kind regards
Uffe