Re: [RFC PATCH] pmdomain: arm: scmi_pm_domain: Do lazy init as part of probe
From: Sudeep Holla <hidden>
Date: 2025-05-30 16:37:25
Also in:
arm-scmi, linux-pm, lkml
On Fri, May 30, 2025 at 05:31:08PM +0100, Sudeep Holla wrote:
On Fri, May 30, 2025 at 04:05:27PM +0530, Dhruva Gole wrote:quoted
Optimize the SCMI power domain driver to only initialize domains that are actually referenced in the device tree. Previously, the driver would initialize all possible domains up to the maximum ID, which could lead to unnecessary firmware calls and longer probe times. Key changes: - Scan device tree to identify which power domains are actually referencedHow do this work with runtime DT overlays ?quoted
- Use bitmap to track needed domains instead of initializing all - Only perform state queries and initialization for referenced domains - Maintain proper array sizing for power domain framework compatibility - Keep full provider structure to support late binding This optimization reduces probe time and unnecessary firmware interactions by only initializing power domains that are actually used in the system.Why is this very specific to power domains only ? This must apply for other domains like perf or clock or reset ?quoted
For example, in a system with 100 possible domains but only 3 referenced in the device tree, we now only initialize those 3 domains instead of all 100.Well, how much of these PD will get used in the final products ? I can understand the need to use just 3 in devel platforms. Just trying to see how realistic is the scenario ? Is there any other optimisation possible from the firmware ? Does getting the state of a PD takes so much time on the platform in question ?
And I missed another point. Someone will soon complain Linux no longer turns off unused power domains. So I am inclined against this optimisation. We need to consider all the above point before . -- Regards, Sudeep