2020-02-03 10:46:43

by Can Guo

[permalink] [raw]
Subject: [PATCH v5 2/8] scsi: ufs: set load before setting voltage in regulators

From: Asutosh Das <[email protected]>

This sequence change is required to avoid dips in voltage
during boot-up.

Apparently, this dip is caused because in the original
sequence, the regulators are initialized in lpm mode.
And then when the load is set to high, and more current
is drawn, than is allowed in lpm, the dip is seen.

Signed-off-by: Asutosh Das <[email protected]>
Signed-off-by: Can Guo <[email protected]>
Reviewed-by: Hongwu Su <[email protected]>
---
drivers/scsi/ufs/ufshcd.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 10dbc0c..83ae093 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -7248,6 +7248,11 @@ static int ufshcd_config_vreg(struct device *dev,
name = vreg->name;

if (regulator_count_voltages(reg) > 0) {
+ uA_load = on ? vreg->max_uA : 0;
+ ret = ufshcd_config_vreg_load(dev, vreg, uA_load);
+ if (ret)
+ goto out;
+
if (vreg->min_uV && vreg->max_uV) {
min_uV = on ? vreg->min_uV : 0;
ret = regulator_set_voltage(reg, min_uV, vreg->max_uV);
@@ -7258,11 +7263,6 @@ static int ufshcd_config_vreg(struct device *dev,
goto out;
}
}
-
- uA_load = on ? vreg->max_uA : 0;
- ret = ufshcd_config_vreg_load(dev, vreg, uA_load);
- if (ret)
- goto out;
}
out:
return ret;
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


2020-02-03 21:43:25

by Bean Huo (beanhuo)

[permalink] [raw]
Subject: RE: [EXT] [PATCH v5 2/8] scsi: ufs: set load before setting voltage in regulators


> Signed-off-by: Asutosh Das <[email protected]>
> Signed-off-by: Can Guo <[email protected]>
> Reviewed-by: Hongwu Su <[email protected]>

Reviewed-by: Bean Huo <[email protected]>


2020-02-04 06:18:29

by Stanley Chu

[permalink] [raw]
Subject: Re: [PATCH v5 2/8] scsi: ufs: set load before setting voltage in regulators

On Mon, 2020-02-03 at 01:17 -0800, Can Guo wrote:
> From: Asutosh Das <[email protected]>
>
> This sequence change is required to avoid dips in voltage
> during boot-up.
>
> Apparently, this dip is caused because in the original
> sequence, the regulators are initialized in lpm mode.
> And then when the load is set to high, and more current
> is drawn, than is allowed in lpm, the dip is seen.
>
> Signed-off-by: Asutosh Das <[email protected]>
> Signed-off-by: Can Guo <[email protected]>
> Reviewed-by: Hongwu Su <[email protected]>

Reviewed-by: Stanley Chu <[email protected]>