Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit ed9a1d31 authored by Subbaraman Narayanamurthy's avatar Subbaraman Narayanamurthy Committed by Gerrit - the friendly Code Review server
Browse files

regulator: cpr-regulator: improve handling of incorrect target quotients



Currently, if the fused target quotient of a fuse corner (SVS)
is less than the target quotient of the previous fuse corner
(SVS2), then CPR closed loop operation is disabled permanently.
However, it would be good to adjust the target quotients before
doing the conditional check above so that the adjustments will
be applied before the decision is made.

Disable CPR closed-loop operation only if the ring oscillators
(RO) are same between the adjacent fuse corners so that
closed-loop operation is allowed for the targets that have
different RO.

In addition, when the aforementioned condition exists, set the
scaling factor for that fuse corner to zero so that it does not
end up as a huge unsigned integer value.

Also, if the CPR regulator device uses the quotient offset for
the quotient interpolation and it ends up using the same RO for
the adjacent fuse corners, then fall back to using target
quotient based linear interpolation instead of the quotient
offset based one. This ensures that the interpolation is
performed correctly in the scenario above.

CRs-Fixed: 841986
Change-Id: I05880858bf5279545734e20e6d76298e24dec6ce
Signed-off-by: default avatarSubbaraman Narayanamurthy <subbaram@codeaurora.org>
Signed-off-by: default avatararusha goyal <arushag@codeaurora.org>
parent 67d817e9
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment