tree b9d783e6a39fc480b4a807af6b97dcdc99be77ed
parent d3d64537c33956c94cfa2376b87d8917868a0f5e
author Maciej Purski <m.purski@samsung.com> 1524494021 +0200
committer Mark Brown <broonie@kernel.org> 1526540750 +0900
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCgAxFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAlr9Kc4THGJyb29uaWVA
 a2VybmVsLm9yZwAKCRAk1otyXVSH0N/qB/oDRxNdffGLXdhTpgOc2UBgDPFDzWMo
 3j761+VI3D3Abzri23dmSOIQtcIQNURBeV9XxT6qesiVZknDT95HjP/e1qTenqYU
 2qMTk2qiOi3Lvc+qpX8F8BRGAoIsOyySODsq+m9xlrVM10nnQ/brgFN9//RyU5/l
 AEDPSy9fPawxq+Spz3XczzHglHZ/ZJXyOFp8ZHIWbG4sjAa+fcTSKFcIvqNkSyzi
 5OXxm+zM8HK/QPcTWwiYi5A7zNdQEhljrx9tnqhNIjQCT/o2RpYN0jLOUTJK7ZeS
 qX6awo5gwc77PB9BaWX6kc0BEynOMia9sHAWrISpCyCy2eMybiMEG9D9
 =MHAv
 -----END PGP SIGNATURE-----

regulator: core: Add voltage balancing mechanism

On Odroid XU3/4 and other Exynos5422 based boards there is a case, that
different devices on the board are supplied by different regulators
with non-fixed voltages. If one of these devices temporarily requires
higher voltage, there might occur a situation that the spread between
two devices' voltages is so high, that there is a risk of changing
'high' and 'low' states on the interconnection between devices powered
by those regulators.

Introduce new function regulator_balance_voltage(), which
keeps max_spread constraint fulfilled between a group of coupled
regulators. It should be called if a regulator changes its
voltage or after disabling or enabling. Disabled regulators should
follow changes of the enabled ones, but their consumers' demands
shouldn't be taken into account while calculating voltage of other
coupled regulators.

Find voltages, which are closest to suiting all the consumers' demands,
while fulfilling max_spread constraint, keeping the following rules:
- if one regulator is about to rise its voltage, rise others
  voltages in order to keep the max_spread
- if a regulator, which has caused rising other regulators, is
  lowered, lower other regulators if possible
- if one regulator is about to lower its voltage, but it hasn't caused
  rising other regulators, don't change its voltage if it breaks the
  max_spread

Change regulators' voltages step by step, keeping max_spread constraint
fulfilled all the time. Function regulator_get_optimal_voltage()
should find the best possible change for the regulator, which doesn't
break max_spread constraint. In function regulator_balance_voltage()
optimize number of steps by finding highest voltage difference on
each iteration.

If a regulator, which is about to change its voltage, is not coupled,
method regulator_get_optimal_voltage() should simply return the lowest
voltage fulfilling consumers' demands.

Coupling should be checked only if the system is in PM_SUSPEND_ON state.

Signed-off-by: Maciej Purski <m.purski@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
