diff mbox series

[v4,4/8] scsi: ufs: Move ufshcd_get_max_pwr_mode() to ufshcd_device_params_init()

Message ID 20200120130820.1737-5-huobean@gmail.com (mailing list archive)
State Accepted
Headers show
Series Use UFS device indicated maximum LU number | expand

Commit Message

Bean Huo Jan. 20, 2020, 1:08 p.m. UTC
From: Bean Huo <beanhuo@micron.com>

ufshcd_get_max_pwr_mode() only need to be called once while booting, take
it out from ufshcd_probe_hba() and inline into ufshcd_device_params_init().

Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Bean Huo <beanhuo@micron.com>
---
 drivers/scsi/ufs/ufshcd.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

Comments

Asutosh Das (asd) Jan. 20, 2020, 8:39 p.m. UTC | #1
On 1/20/2020 5:08 AM, Bean Huo wrote:
> From: Bean Huo <beanhuo@micron.com>
> 
> ufshcd_get_max_pwr_mode() only need to be called once while booting, take
> it out from ufshcd_probe_hba() and inline into ufshcd_device_params_init().
> 
> Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
> Signed-off-by: Bean Huo <beanhuo@micron.com>
> ---

Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>

>   drivers/scsi/ufs/ufshcd.c | 12 +++++++-----
>   1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 935b50861864..5dfe760f2786 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -6959,6 +6959,11 @@ static int ufshcd_device_params_init(struct ufs_hba *hba)
>   			QUERY_FLAG_IDN_PWR_ON_WPE, &flag))
>   		hba->dev_info.f_power_on_wp_en = flag;
>   
> +	/* Probe maximum power mode co-supported by both UFS host and device */
> +	if (ufshcd_get_max_pwr_mode(hba))
> +		dev_err(hba->dev,
> +			"%s: Failed getting max supported power mode\n",
> +			__func__);
>   out:
>   	return ret;
>   }
> @@ -7057,11 +7062,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba, bool async)
>   	ufshcd_force_reset_auto_bkops(hba);
>   	hba->wlun_dev_clr_ua = true;
>   
> -	if (ufshcd_get_max_pwr_mode(hba)) {
> -		dev_err(hba->dev,
> -			"%s: Failed getting max supported power mode\n",
> -			__func__);
> -	} else {
> +	/* Gear up to HS gear if supported */
> +	if (hba->max_pwr_info.is_valid) {
>   		/*
>   		 * Set the right value to bRefClkFreq before attempting to
>   		 * switch to HS gears.
>
diff mbox series

Patch

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 935b50861864..5dfe760f2786 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6959,6 +6959,11 @@  static int ufshcd_device_params_init(struct ufs_hba *hba)
 			QUERY_FLAG_IDN_PWR_ON_WPE, &flag))
 		hba->dev_info.f_power_on_wp_en = flag;
 
+	/* Probe maximum power mode co-supported by both UFS host and device */
+	if (ufshcd_get_max_pwr_mode(hba))
+		dev_err(hba->dev,
+			"%s: Failed getting max supported power mode\n",
+			__func__);
 out:
 	return ret;
 }
@@ -7057,11 +7062,8 @@  static int ufshcd_probe_hba(struct ufs_hba *hba, bool async)
 	ufshcd_force_reset_auto_bkops(hba);
 	hba->wlun_dev_clr_ua = true;
 
-	if (ufshcd_get_max_pwr_mode(hba)) {
-		dev_err(hba->dev,
-			"%s: Failed getting max supported power mode\n",
-			__func__);
-	} else {
+	/* Gear up to HS gear if supported */
+	if (hba->max_pwr_info.is_valid) {
 		/*
 		 * Set the right value to bRefClkFreq before attempting to
 		 * switch to HS gears.