On Thu, 5 Nov 2020 at 11:06, Viresh Kumar viresh.kumar@linaro.org wrote:
On 05-11-20, 10:45, Ulf Hansson wrote:
- Viresh
Thanks Ulf. I found a bug in OPP core because you cc'd me here :)
Happy to help. :-)
On Thu, 5 Nov 2020 at 00:44, Dmitry Osipenko digetx@gmail.com wrote: I need some more time to review this, but just a quick check found a few potential issues...
The "core-supply", that you specify as a regulator for each controller's device node, is not the way we describe power domains.
Maybe I misunderstood your comment here, but there are two ways of scaling the voltage of a device depending on if it is a regulator (and can be modeled as one in the kernel) or a power domain.
I am not objecting about scaling the voltage through a regulator, that's fine to me. However, encoding a power domain as a regulator (even if it may seem like a regulator) isn't. Well, unless Mark Brown has changed his mind about this.
In this case, it seems like the regulator supply belongs in the description of the power domain provider.
In case of Qcom earlier (when we added the performance-state stuff), the eventual hardware was out of kernel's control and we didn't wanted (allowed) to model it as a virtual regulator just to pass the votes to the RPM. And so we did what we did.
But if the hardware (where the voltage is required to be changed) is indeed a regulator and is modeled as one, then what Dmitry has done looks okay. i.e. add a supply in the device's node and microvolt property in the DT entries.
I guess I haven't paid enough attention how power domain regulators are being described then. I was under the impression that the CPUfreq case was a bit specific - and we had legacy bindings to stick with.
Can you point me to some other existing examples of where power domain regulators are specified as a regulator in each device's node?
Kind regards Uffe