On Tue, Jun 17, 2025 at 04:34:47PM -0300, Hiago De Franco wrote: >From: Hiago De Franco <[email protected]> > >This patch series depends on Ulf's patches that are currently under >review, "pmdomain: Add generic ->sync_state() support to genpd" [1]. >Without them, this series is not going to work. > >For the i.MX8X and i.MX8 family SoCs, currently when the remotecore is >started by the bootloader and the M core and A core are in the same >partition, the driver is not capable to detect the remote core and >report the correct state of it. > >This patch series implement a new function, dev_pm_genpd_is_on(), which >returns the power status of a given power domain (M core power domains >IMX_SC_R_M4_0_PID0 and IMX_SC_R_M4_0_MU_1A in this case). If it is >already powered on, the driver will attach to it. > >Finally, the imx_rproc_clk_enable() function was also changed to make it >return before dev_clk_get() is called, as it currently generates an SCU >fault reset if the remote core is already running and the kernel tries >to enable the clock again. These changes are a follow up from a v1 sent >to imx_rproc [2] and from a reported regression [3]. > >[1] https://lore.kernel.org/all/[email protected]/ >[2] https://lore.kernel.org/lkml/[email protected]/ >[3] https://lore.kernel.org/lkml/20250404141713.ac2ntcsjsf7epdfa@hiago-nb/ > >v5: >- pm_runtime_get_sync() removed in favor of pm_runtime_resume_and_get(), > checking the return value of it. >- Added pm_runtime_disable() and pm_runtime_put() to imx_rproc_remove(). >- Fixed missing "()" in dev_pm_genpd_is_on description. >- Updated dev_pm_genpd_is_on() function description to be explicit the > function reflects the current power status of the device and that this > might change after the function returns, especially if the genpd is > shared. > >v4: >- https://lore.kernel.org/lkml/[email protected]/ > >v3: >- https://lore.kernel.org/all/[email protected]/ > >v2: >- https://lore.kernel.org/lkml/[email protected]/ > >v1: >- https://lore.kernel.org/lkml/[email protected]/ > >Hiago De Franco (3): > pmdomain: core: introduce dev_pm_genpd_is_on() > remoteproc: imx_rproc: skip clock enable when M-core is managed by the > SCU > remoteproc: imx_rproc: detect and attach to pre-booted remote cores
Reviewed-by: Peng Fan <[email protected]> > > drivers/pmdomain/core.c | 33 +++++++++++++++++++++++++++ > drivers/remoteproc/imx_rproc.c | 41 ++++++++++++++++++++++++++++------ > include/linux/pm_domain.h | 6 +++++ > 3 files changed, 73 insertions(+), 7 deletions(-) > >-- >2.39.5 >

