scsi: ufs: Add load voting for UFS's VCCQ parent regulator
The UFS clock gating events can trigger CX Power Collapse followed by
SoC system sleep events, independent of the Linux Power Management's
runtime/system suspend events. When this happens, the VCCQ's
parent regulator source may limit the amount of current the UFS VCCQ
regulator can draw while the SoC is in sleep mode but the UFS device
is in active full power mode. The UFS3.0 and later devices with
Turbo Write feature support may consume high power during the
cache flush and bkops operations which may trigger over current
detection event. To prevent the VCCQ's parent regulator source
from limiting the VCCQ's regulator power consumption while the
UFS device is in active mode, add a high load voting on
the VCCQ parent regulator. Set the low load voting on this
regulator when the UFS enters Linux's runtime/system suspend.
In addition, vote the UFS regulator sources in fully active mode when
the UFS bkops is enabled during runtime suspend.
Change-Id: I25406a067dc9702a31d7a5ad2fa65e3891d95185
Signed-off-by:
Bao D. Nguyen <nguyenb@codeaurora.org>
Loading
Please register or sign in to comment