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:Subbaraman Narayanamurthy <subbaram@codeaurora.org> Signed-off-by:
arusha goyal <arushag@codeaurora.org>
Loading
Please register or sign in to comment