aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/intel/pmt/class.c
diff options
context:
space:
mode:
authorHiago De Franco <[email protected]>2025-07-16 19:46:38 +0000
committerUlf Hansson <[email protected]>2025-07-18 10:43:46 +0000
commita876a3aacc434e93154540c7ffafa66da9d5af34 (patch)
tree9cb11da4a1d1a5b7d0ed4994d97326dc815744f3 /drivers/platform/x86/intel/pmt/class.c
parentremoteproc: imx_rproc: skip clock enable when M-core is managed by the SCU (diff)
downloadkernel-a876a3aacc434e93154540c7ffafa66da9d5af34.tar.gz
kernel-a876a3aacc434e93154540c7ffafa66da9d5af34.zip
remoteproc: imx_rproc: detect and attach to pre-booted remote cores
When the Cortex-M remote core is started and already running before Linux boots (typically by the Cortex-A bootloader using a command like bootaux), the current driver is unable to attach to it. This is because the driver only checks for remote cores running in different SCU partitions. However in this case, the M-core is in the same partition as Linux and is already powered up and running by the bootloader. This patch adds a check using dev_pm_genpd_is_on() to verify whether the M-core's power domains are already on. If all power domain devices are on, the driver assumes the M-core is running and proceed to attach to it. To accomplish this, we need to avoid passing any attach_data or flags to dev_pm_domain_attach_list(), allowing the platform device become a consumer of the power domain provider without changing its current state. During probe, also enable and sync the device runtime PM to make sure the power domains are correctly managed when the core is controlled by the kernel. Suggested-by: Ulf Hansson <[email protected]> Reviewed-by: Ulf Hansson <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Hiago De Franco <[email protected]> Reviewed-by: Mathieu Poirier <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
Diffstat (limited to 'drivers/platform/x86/intel/pmt/class.c')
0 files changed, 0 insertions, 0 deletions