]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: Use ufshcd_config_pwr_mode() when scaling gear
authorCan Guo <cang@codeaurora.org>
Wed, 12 Feb 2020 05:38:28 +0000 (21:38 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 2 Apr 2020 02:00:26 +0000 (22:00 -0400)
When scaling gear, use ufshcd_config_pwr_mode() instead of
ufshcd_change_power_mode() so that vops_pwr_change_notify(PRE_CHANGE)
can be utilized to allow vendors use customized settings before
changing power mode.

Link: https://lore.kernel.org/r/1581485910-8307-2-git-send-email-cang@codeaurora.org
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c

index ad61516fc64fddad4d643eccaa0405d684393036..64e42efc8d0cdd0f5aad024e200a031c17e0065e 100644 (file)
@@ -1078,8 +1078,7 @@ static int ufshcd_scale_gear(struct ufs_hba *hba, bool scale_up)
        }
 
        /* check if the power mode needs to be changed or not? */
-       ret = ufshcd_change_power_mode(hba, &new_pwr_info);
-
+       ret = ufshcd_config_pwr_mode(hba, &new_pwr_info);
        if (ret)
                dev_err(hba->dev, "%s: failed err %d, old gear: (tx %d rx %d), new gear: (tx %d rx %d)",
                        __func__, ret,
@@ -4116,8 +4115,6 @@ int ufshcd_config_pwr_mode(struct ufs_hba *hba,
                memcpy(&final_params, desired_pwr_mode, sizeof(final_params));
 
        ret = ufshcd_change_power_mode(hba, &final_params);
-       if (!ret)
-               ufshcd_print_pwr_info(hba);
 
        return ret;
 }
@@ -7131,6 +7128,7 @@ static int ufshcd_probe_hba(struct ufs_hba *hba, bool async)
                                        __func__, ret);
                        goto out;
                }
+               ufshcd_print_pwr_info(hba);
        }
 
        /*