regulator: cpr-regulator: correct corner handling in cpr_regulator_enable
Modify the cpr-regulator driver so that cpr_corner_restore() is
called in place of cpr_corner_switch() in the
cpr_regulator_enable() function. This is needed because the
cpr_corner_switch() call will always have no effect since the
corner value passed in is cpr_vreg->corner. By not updating the
corner related register values, it is possible to get stuck in a
situation where CPR is enabled for a corner but the target
quotient being used corresponds to a different corner. If the
new corner is supposed to have a higher target quotient than the
previous corner, then this situation can result in a crash due to
undervolting the processor.
Change-Id: I4f7192a187641e140062ebea72c4c62edddc6421
Signed-off-by:
David Collins <collinsd@codeaurora.org>
Loading
Please register or sign in to comment