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