Revert "FROMGIT: scsi: ufs: ufs-qcom: Add support for reinitializing the UFS device"
This reverts commit 3ce7942d7b.
UFS G4 patchseries broke RB5 (sm8250). Reverting a minimal
set of patches to get the device booting again.
Bug: 146449535
Change-Id: I26a755402561c6ec445a514f5b59f40d7e207cef
Suggested-by: Bart Van Assche <bvanassche@google.com>
Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
This commit is contained in:
committed by
Treehugger Robot
parent
5a84915a10
commit
a4b821db5c
@@ -299,6 +299,7 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)
|
||||
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
|
||||
struct phy *phy = host->generic_phy;
|
||||
int ret;
|
||||
bool is_rate_B = UFS_QCOM_LIMIT_HS_RATE == PA_HS_MODE_B;
|
||||
|
||||
/* Reset UFS Host Controller and PHY */
|
||||
ret = ufs_qcom_host_reset(hba);
|
||||
@@ -306,6 +307,9 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)
|
||||
dev_warn(hba->dev, "%s: host reset returned %d\n",
|
||||
__func__, ret);
|
||||
|
||||
if (is_rate_B)
|
||||
phy_set_mode(phy, PHY_MODE_UFS_HS_B);
|
||||
|
||||
/* phy initialization - calibrate the phy */
|
||||
ret = phy_init(phy);
|
||||
if (ret) {
|
||||
@@ -314,8 +318,6 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)
|
||||
return ret;
|
||||
}
|
||||
|
||||
phy_set_mode_ext(phy, PHY_MODE_UFS_HS_B, host->hs_gear);
|
||||
|
||||
/* power on phy - start serdes and phy's power and clocks */
|
||||
ret = phy_power_on(phy);
|
||||
if (ret) {
|
||||
@@ -718,9 +720,6 @@ static int ufs_qcom_pwr_change_notify(struct ufs_hba *hba,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Use the agreed gear */
|
||||
host->hs_gear = dev_req_params->gear_tx;
|
||||
|
||||
/* enable the device ref clock before changing to HS mode */
|
||||
if (!ufshcd_is_hs_mode(&hba->pwr_info) &&
|
||||
ufshcd_is_hs_mode(dev_req_params))
|
||||
@@ -834,9 +833,6 @@ static void ufs_qcom_advertise_quirks(struct ufs_hba *hba)
|
||||
| UFSHCD_QUIRK_DME_PEER_ACCESS_AUTO_MODE
|
||||
| UFSHCD_QUIRK_BROKEN_PA_RXHSUNTERMCAP);
|
||||
}
|
||||
|
||||
if (host->hw_ver.major > 0x3)
|
||||
hba->quirks |= UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH;
|
||||
}
|
||||
|
||||
static void ufs_qcom_set_caps(struct ufs_hba *hba)
|
||||
@@ -1044,12 +1040,6 @@ static int ufs_qcom_init(struct ufs_hba *hba)
|
||||
dev_warn(dev, "%s: failed to configure the testbus %d\n",
|
||||
__func__, err);
|
||||
|
||||
/*
|
||||
* Power up the PHY using the minimum supported gear (UFS_HS_G2).
|
||||
* Switching to max gear will be performed during reinit if supported.
|
||||
*/
|
||||
host->hs_gear = UFS_HS_G2;
|
||||
|
||||
return 0;
|
||||
|
||||
out_variant_clear:
|
||||
@@ -1393,13 +1383,6 @@ static void ufs_qcom_config_scaling_param(struct ufs_hba *hba,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void ufs_qcom_reinit_notify(struct ufs_hba *hba)
|
||||
{
|
||||
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
|
||||
|
||||
phy_power_off(host->generic_phy);
|
||||
}
|
||||
|
||||
/* Resources */
|
||||
static const struct ufshcd_res_info ufs_res_info[RES_MAX] = {
|
||||
{.name = "ufs_mem",},
|
||||
@@ -1559,7 +1542,6 @@ static const struct ufs_hba_variant_ops ufs_hba_qcom_vops = {
|
||||
.device_reset = ufs_qcom_device_reset,
|
||||
.config_scaling_param = ufs_qcom_config_scaling_param,
|
||||
.program_key = ufs_qcom_ice_program_key,
|
||||
.reinit_notify = ufs_qcom_reinit_notify,
|
||||
.mcq_config_resource = ufs_qcom_mcq_config_resource,
|
||||
.get_hba_mac = ufs_qcom_get_hba_mac,
|
||||
.op_runtime_config = ufs_qcom_op_runtime_config,
|
||||
|
||||
@@ -211,8 +211,6 @@ struct ufs_qcom_host {
|
||||
struct reset_controller_dev rcdev;
|
||||
|
||||
struct gpio_desc *device_reset;
|
||||
|
||||
u32 hs_gear;
|
||||
};
|
||||
|
||||
static inline u32
|
||||
|
||||
Reference in New Issue
Block a user