On Tue, Apr 23, 2013 at 02:44:58PM +0300, Taras Kondratiuk wrote:Do you mean a voltage of the lowest operation point?
GPU voltage is regulated by some devfreq driver.Clearly at least the lower bound is known to the drivers...
CPU voltage is regulated by generic cpufreq-cpu0 driver.
Both drivers know only about their operational points.
They don't know anything about chip limits.
I think I'm missing something.
I see two options here:Why on earth would this need a new API?
1. Pass somehow chip limits to drivers so they can limit their request.
Pros: No need for regulator_set_voltage_min()
Cons: a) Need to pass info about chip limits to driver. New API?
I went through several SoC datasheets and found that min approach
b) CPU and GPU may have different limits,If the CPU and GPU drivers are trying to select incompatible
so after very first request voltage may violate
CPU or GPU range.
configurations then we really ought to be detecting that, ignoring it
seems like an obvious failure. There's a bootstrapping problem but
that's also an issue with specifying only the minimum voltage...
2. Define chip limits in Reg X constraints.Above you clearly say that this is all modelling operating points. If
Pros: Limits will be applied to driver's request transparently.
No need to pass info about limits to driver.
Limits are set before the first request, so no violation.
Cons: regulator_set_voltage_min() is needed.
IMHO option #2 is better.
Do you see other ways?
you're doing that then I would expect the drivers to be talking
operating points to an operating point abstraction.