[PATCH v2 00/21] pmdomain: Add generic ->sync_state() support to genpd
Ulf Hansson
ulf.hansson at linaro.org
Thu Jun 19 04:40:57 PDT 2025
On Fri, 13 Jun 2025 at 12:33, Tomi Valkeinen
<tomi.valkeinen at ideasonboard.com> wrote:
>
> Hi Ulf,
>
> On 23/05/2025 16:39, Ulf Hansson wrote:
> > Changes in v2:
> > - Well, quite a lot as I discovered various problems when doing
> > additional testing of corner-case. I suggest re-review from scratch,
> > even if I decided to keep some reviewed-by tags.
> > - Added patches to allow some drivers that needs to align or opt-out
> > from the new common behaviour in genpd.
> >
> > If a PM domain (genpd) is powered-on during boot, there is probably a good
> > reason for it. Therefore it's known to be a bad idea to allow such genpd to be
> > powered-off before all of its consumer devices have been probed. This series
> > intends to fix this problem.
> >
> > We have been discussing these issues at LKML and at various Linux-conferences
> > in the past. I have therefore tried to include the people I can recall being
> > involved, but I may have forgotten some (my apologies), feel free to loop them
> > in.
> >
> > I have tested this with QEMU with a bunch of local test-drivers and DT nodes.
> > Let me know if you want me to share this code too.
> >
> > Please help review and test!
>
> I tested this Renesas white-hawk board, and it hangs at boot. With
> earlycon, I captured with/without boot logs, attached.
>
> The hang case doesn't look very healthy with all these: "kobject:
> '(null)' ((____ptrval____)): is not initialized, yet kobject_get() is
> being called."
Tomi, thanks a lot for helping out with testing!
rcar_gen4_sysc_pd_init() calls pm_genpd_init() and
of_genpd_add_provider_onecell().
rcar_gen4_sysc_pd_init() is an early_initcall, which I guess is the
reason for these problems, as the genpd_provider_bus has not been
registered that early (it's done at core_initcall)
Do you think it would be possible to move rcar_gen4_sysc_pd_init() to
a postcore/arch_initcall?
Kind regards
Uffe
More information about the linux-arm-kernel
mailing list