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

Hiago De Franco hiagofranco at gmail.com
Tue Jun 24 09:18:12 PDT 2025


On Mon, Jun 23, 2025 at 09:32:54AM -0600, Mathieu Poirier wrote:
> On Tue, Jun 17, 2025 at 04:34:47PM -0300, Hiago De Franco wrote:
> > From: Hiago De Franco <hiago.franco at 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.
> 
> Please resend this patchset when [1] and the work in patch 1/3 have been merged.

All right, I will send the v6 with the corrections you mentioned and
resend it when the other patches have been merged.

Best regards,
Hiago.

> 
> Thanks,
> Mathieu
> 
> > 
> > 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
> > 
> >  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
> > 



More information about the linux-arm-kernel mailing list