On Tue 01 Sep 01:19 UTC 2020, Bao D. Nguyen wrote:

> UFS version 3.0 and later devices require Vcc and Vccq power supplies
> with Vccq2 being optional. While earlier UFS version 2.0 and 2.1
> devices, the Vcc and Vccq2 are required with Vccq being optional.
> Check the required power supplies used by the device
> and set the device's supported Icc level properly.
> 
> Signed-off-by: Can Guo <c...@codeaurora.org>
> Signed-off-by: Asutosh Das <asuto...@codeaurora.org>
> Signed-off-by: Bao D. Nguyen <nguy...@codeaurora.org>
> ---
>  drivers/scsi/ufs/ufshcd.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 06e2439..fdd1d3e 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -6845,8 +6845,9 @@ static u32 ufshcd_find_max_sup_active_icc_level(struct 
> ufs_hba *hba,
>  {
>       u32 icc_level = 0;
>  
> -     if (!hba->vreg_info.vcc || !hba->vreg_info.vccq ||
> -                                             !hba->vreg_info.vccq2) {
> +     if (!hba->vreg_info.vcc ||

How did you test this?

devm_regulator_get() never returns NULL, so afaict this conditional will
never be taken with either the old or new version of the code.

Regards,
Bjorn

> +             (!hba->vreg_info.vccq && hba->dev_info.wspecversion >= 0x300) ||
> +             (!hba->vreg_info.vccq2 && hba->dev_info.wspecversion < 0x300)) {
>               dev_err(hba->dev,
>                       "%s: Regulator capability was not set, actvIccLevel=%d",
>                                                       __func__, icc_level);
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 

Reply via email to