Re: [PATCH v1 1/1] scsi: ufs: Keep UFS regulators on when autobkops enabled

From: Stanley Chu
Date: Mon Oct 26 2020 - 22:14:28 EST


Hi,

On Mon, 2020-10-26 at 14:31 -0700, Asutosh Das wrote:
> From: "Bao D. Nguyen" <nguyenb@xxxxxxxxxxxxxx>
>
> When bkops is enabled, the UFS device may do bkops during suspend.
> With bkops enabled during suspend, keep the regulators
> in active operation configuration, allowing the device to draw
> high power to support bkops and avoid over current event.
>
> Signed-off-by: Bao D. Nguyen <nguyenb@xxxxxxxxxxxxxx>
> Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
> ---
> drivers/scsi/ufs/ufshcd.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 47c544d..a94543c 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -8523,7 +8523,9 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
> if (ret)
> goto set_dev_active;
>
> - ufshcd_vreg_set_lpm(hba);
> + /* Device may perform bkops if autobkops is enabled */
> + if (!hba->auto_bkops_enabled)
> + ufshcd_vreg_set_lpm(hba);

If auto bkops is allowed and enabled during runtime suspend (currently
auto bkops is allow in runtime suspend only, and not allowed in system
suspend), hba->dev_info.b_rpm_dev_flush_capable would be true and keep
the current device power mode, say Active Power Mode. In this case,
regulator would not be set as lpm mode by ufshcd_vreg_set_lpm().

Please correct me if I was wrong.

Thanks,
Stanley Chu