Re: [PATCH v5 0/3] remoteproc: imx_rproc: allow attaching to running core kicked by the bootloader

Peng Fan
2025-06-19T07:34:39Z

On Tue, Jun 17, 2025 at 04:34:47PM -0300, Hiago De Franco wrote:
>From: Hiago De Franco <hiago.franco@toradex.com>
>
>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/20250523134025.75130-1-ulf.hansson@linaro.org/
>[2] https://lore.kernel.org/lkml/20250423155131.101473-1-hiagofranco@gmail.com/
>[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/20250602131906.25751-1-hiagofranco@gmail.com/
>
>v3:
>- https://lore.kernel.org/all/20250519171514.61974-1-hiagofranco@gmail.com/
>
>v2:
>- https://lore.kernel.org/lkml/20250507160056.11876-1-hiagofranco@gmail.com/
>
>v1:
>- https://lore.kernel.org/lkml/20250505154849.64889-1-hiagofranco@gmail.com/
>
>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 <peng.fan@nxp.com>

>
> 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
>