scsi: ufs: ufs-qcom: Add support for limiting HS gear and rate
Add support to limit Tx/Rx gear and rate during UFS initialization based on DT property. Also update the phy_gear to ensure PHY calibrations align with the required gear and rate. Signed-off-by: Ram Kumar Dwivedi <quic_rdwivedi@quicinc.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
1cc577e64d
commit
88f4d3aa29
@@ -1092,6 +1092,18 @@ static void ufs_qcom_set_phy_gear(struct ufs_qcom_host *host)
|
||||
}
|
||||
}
|
||||
|
||||
static void ufs_qcom_parse_gear_limits(struct ufs_hba *hba)
|
||||
{
|
||||
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
|
||||
struct ufs_host_params *host_params = &host->host_params;
|
||||
u32 hs_gear_old = host_params->hs_tx_gear;
|
||||
|
||||
ufshcd_parse_gear_limits(hba, host_params);
|
||||
if (host_params->hs_tx_gear != hs_gear_old) {
|
||||
host->phy_gear = host_params->hs_tx_gear;
|
||||
}
|
||||
}
|
||||
|
||||
static void ufs_qcom_set_host_params(struct ufs_hba *hba)
|
||||
{
|
||||
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
|
||||
@@ -1333,6 +1345,7 @@ static int ufs_qcom_init(struct ufs_hba *hba)
|
||||
ufs_qcom_advertise_quirks(hba);
|
||||
ufs_qcom_set_host_params(hba);
|
||||
ufs_qcom_set_phy_gear(host);
|
||||
ufs_qcom_parse_gear_limits(hba);
|
||||
|
||||
err = ufs_qcom_ice_init(host);
|
||||
if (err)
|
||||
|
||||
Reference in New Issue
Block a user