On 15-11-16, 10:56, Stephen Boyd wrote:
This is also possible from C code though.
Right and this is what this patchset is doing right now. To make it clear, the order of regulator names in the call dev_pm_opp_set_regulators() is used now to communicate the order in which entries are present in the OPP table.
Or is there some case where it isn't possible if we're sharing the same table with two devices?
Even in that case it will be possible to set regulators separately, so that's not a problem.
I'm lost on when this would ever happen.
It would happen in case of Krait for example, where CPUs manage DVFS separately but their tables may all be same.
It feels like trying to keep the OPP table agnostic of the consuming device and the device's binding is more trouble than it's worth. Especially considering we have opp-shared and *-name now.
Right.
- The order in which the supplies need to be programmed. We have all agreed to do this in code instead of inferring it from DT and this patch series already does that.
Agreed. Encoding a sequence into DT doesn't sound very feasible. How is this going to be handled though? I don't see any users of the code we're reviewing here, so it's hard to grasp how things will work. It would be really useful if we had some user of the code included in the patch series to get the big picture.
The TI guys would be doing it soon. The sequence will be handled by platform specific set_opp() callbacks now. So, there is nothing in the core for that.
So, are you saying that the way this patchset does it is fine with you ?
That's just to handle the ordering of operations?
Not just that. The blocking question here is that "Do we want to know the sequence in which the entries for multiple regulators are present in the OPP nodes from the DT? Or is it fine to handle that in code".
And AFAIU, you are saying that we better handle that in code as handling that in DT is going to be nightmare without a new ugly property.