Hi Guys,
I wanted to involve you guys to get a discussion going for a problem we want to solve, and so this mail.
Platform details:
Some of the Qualcom SoCs have the option to configure the performance level of their Power Domains. The performance levels are identified by integer values (lets say 0-9, 0 being the lowest).
Another M3 core handles the *real* voltage scaling based on the input received (from software) in terms of these performance levels. The M3 core translates the levels into a range of voltages (corners) and selects the right one by itself.
Software needs to provide the performance level for the entire domain to the M3 core and so software also needs to handle performance requests from all the devices that lie in the domain X and find a Performance Level P, which can satisfy all the devices (normally the highest requrested level).
Problem statement:
As we aren't dealing with Voltages here, we can't really get the benefits of the Regulators framework. The regulators are managed internally by the M3 core. All we need is a way for software to comeout with inputs for the M3 core.
The OPP framework can be used to include performance levels for each OPP (frequency) entry.
But what framework can be used to select performance level of power domains ?
By name, power-domain or genpd looks to be the right choice, but until now it is only managing power-on and power-off of devices and domains.
Should we extend that (along with runtime PM), or do something else?
Qualcomm guys, please correct my understanding of the hardware in case, something wasn't explained correctly.
-- viresh