|
@@ -214,8 +214,6 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)
|
|
struct ufs_qcom_host *host = hba->priv;
|
|
struct ufs_qcom_host *host = hba->priv;
|
|
struct phy *phy = host->generic_phy;
|
|
struct phy *phy = host->generic_phy;
|
|
int ret = 0;
|
|
int ret = 0;
|
|
- u8 major;
|
|
|
|
- u16 minor, step;
|
|
|
|
bool is_rate_B = (UFS_QCOM_LIMIT_HS_RATE == PA_HS_MODE_B)
|
|
bool is_rate_B = (UFS_QCOM_LIMIT_HS_RATE == PA_HS_MODE_B)
|
|
? true : false;
|
|
? true : false;
|
|
|
|
|
|
@@ -224,8 +222,6 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)
|
|
/* provide 1ms delay to let the reset pulse propagate */
|
|
/* provide 1ms delay to let the reset pulse propagate */
|
|
usleep_range(1000, 1100);
|
|
usleep_range(1000, 1100);
|
|
|
|
|
|
- ufs_qcom_get_controller_revision(hba, &major, &minor, &step);
|
|
|
|
- ufs_qcom_phy_save_controller_version(phy, major, minor, step);
|
|
|
|
ret = ufs_qcom_phy_calibrate_phy(phy, is_rate_B);
|
|
ret = ufs_qcom_phy_calibrate_phy(phy, is_rate_B);
|
|
if (ret) {
|
|
if (ret) {
|
|
dev_err(hba->dev, "%s: ufs_qcom_phy_calibrate_phy() failed, ret = %d\n",
|
|
dev_err(hba->dev, "%s: ufs_qcom_phy_calibrate_phy() failed, ret = %d\n",
|
|
@@ -698,10 +694,7 @@ out:
|
|
*/
|
|
*/
|
|
static void ufs_qcom_advertise_quirks(struct ufs_hba *hba)
|
|
static void ufs_qcom_advertise_quirks(struct ufs_hba *hba)
|
|
{
|
|
{
|
|
- u8 major;
|
|
|
|
- u16 minor, step;
|
|
|
|
|
|
|
|
- ufs_qcom_get_controller_revision(hba, &major, &minor, &step);
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* TBD
|
|
* TBD
|
|
@@ -929,6 +922,13 @@ static int ufs_qcom_init(struct ufs_hba *hba)
|
|
if (err)
|
|
if (err)
|
|
goto out_host_free;
|
|
goto out_host_free;
|
|
|
|
|
|
|
|
+ ufs_qcom_get_controller_revision(hba, &host->hw_ver.major,
|
|
|
|
+ &host->hw_ver.minor, &host->hw_ver.step);
|
|
|
|
+
|
|
|
|
+ /* update phy revision information before calling phy_init() */
|
|
|
|
+ ufs_qcom_phy_save_controller_version(host->generic_phy,
|
|
|
|
+ host->hw_ver.major, host->hw_ver.minor, host->hw_ver.step);
|
|
|
|
+
|
|
phy_init(host->generic_phy);
|
|
phy_init(host->generic_phy);
|
|
err = phy_power_on(host->generic_phy);
|
|
err = phy_power_on(host->generic_phy);
|
|
if (err)
|
|
if (err)
|