[RFC PATCH 0/2] cpufreq/regulator: Limit minimum voltage only

From: Taras Kondratiuk
Date: Fri Apr 19 2013 - 08:01:53 EST


Using a "voltage tolerance" for doing DVFS is not a proper way.
It leads to a few issues:
- voltage is limited to a narrow range near OPP voltage,
so other consumers of the same regulator can't set their own constraints
if they don't overlap with this narrow range. No ganged rails :(
- usually OPP voltage is an absolute minimum voltage
necessary for correct work (not taking into account AVS).
Applying plus/minus tolerance can lead to an unstable device.
For example omap-cpufreq has 4% tolerance configured,
so for OMAP4430 MPU OPP50 we get 0.984V instead of 1.025V.

This series adds a new API to regulator FW to limit only minimum voltage.
As example API is used for cpufreq-cpu0, but if it is accepted I'll fix
other drivers (omap-cpufreq, imx6q-cpufreq, etc).
Maybe regulator_set_voltage_tol() should be removed completely,
because it started to be used in a wrong way.

Patches are based on v3.9-rc7.
I've tested them on v3.8 based branch on OMAP4430 Blaze board.

Taras Kondratiuk (2):
regulator: core: Add regulator_set_voltage_min()
cpufreq: cpufreq-cpu0: Limit minimum voltage only

drivers/cpufreq/cpufreq-cpu0.c | 12 ++++--------
include/linux/regulator/consumer.h | 6 ++++++
2 files changed, 10 insertions(+), 8 deletions(-)

--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/