diff mbox series

[v2,5/7] scsi: ufs: ufs-qcom: Set initial PHY gear to max HS gear for HW ver 5 and newer

Message ID 1699332374-9324-6-git-send-email-cang@qti.qualcomm.com (mailing list archive)
State Not Applicable
Headers show
Series [v2,1/7] scsi: ufs: host: Rename structure ufs_dev_params to ufs_host_params | expand

Commit Message

Can Guo Nov. 7, 2023, 4:46 a.m. UTC
From: Can Guo <quic_cang@quicinc.com>

Set the initial PHY gear to max HS gear for hosts with HW ver 5 and newer.

This patch is not changing any functionalities or logic but only a
preparation patch for the next patch in this series.

Signed-off-by: Can Guo <quic_cang@quicinc.com>
---
 drivers/ufs/host/ufs-qcom.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Manivannan Sadhasivam Nov. 8, 2023, 5:34 a.m. UTC | #1
On Mon, Nov 06, 2023 at 08:46:11PM -0800, Can Guo wrote:
> From: Can Guo <quic_cang@quicinc.com>
> 
> Set the initial PHY gear to max HS gear for hosts with HW ver 5 and newer.
> 

How about,

"For UFSHC >= 5.0, set the initial PHY gear based on the gear value returned by
ufs_qcom_get_hs_gear(). For the rest, use the existing default value of G2."

> This patch is not changing any functionalities or logic but only a
> preparation patch for the next patch in this series.
> 

You are also moving the default phy_gear code to ufs_qcom_set_host_params(). So
it should be mentioned in the commit message.

> Signed-off-by: Can Guo <quic_cang@quicinc.com>
> ---
>  drivers/ufs/host/ufs-qcom.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
> index 55ee31d..94d34b5 100644
> --- a/drivers/ufs/host/ufs-qcom.c
> +++ b/drivers/ufs/host/ufs-qcom.c
> @@ -1069,6 +1069,14 @@ static void ufs_qcom_set_host_params(struct ufs_hba *hba)
>  
>  	/* This driver only supports symmetic gear setting i.e., hs_tx_gear == hs_rx_gear */
>  	host_params->hs_tx_gear = host_params->hs_rx_gear = ufs_qcom_get_hs_gear(hba);
> +	host->phy_gear = host_params->hs_tx_gear;
> +
> +	/*
> +	 * Power up the PHY using the minimum supported gear (UFS_HS_G2).
> +	 * Switching to max gear will be performed during reinit if supported.
> +	 */

This comment should be moved inside the "if" condition here as done in the next
patch.

- Mani

> +	if (host->hw_ver.major < 0x5)
> +		host->phy_gear = UFS_HS_G2;
>  }
>  
>  static void ufs_qcom_set_caps(struct ufs_hba *hba)
> @@ -1313,12 +1321,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->phy_gear = UFS_HS_G2;
> -
>  	return 0;
>  
>  out_variant_clear:
> -- 
> 2.7.4
>
Can Guo Nov. 8, 2023, 8:46 a.m. UTC | #2
Hi Mani,

On 11/8/2023 1:34 PM, Manivannan Sadhasivam wrote:
> On Mon, Nov 06, 2023 at 08:46:11PM -0800, Can Guo wrote:
>> From: Can Guo <quic_cang@quicinc.com>
>>
>> Set the initial PHY gear to max HS gear for hosts with HW ver 5 and newer.
>>
> 
> How about,
> 
> "For UFSHC >= 5.0, set the initial PHY gear based on the gear value returned by
> ufs_qcom_get_hs_gear(). For the rest, use the existing default value of G2."
>

It is much better, will improve in next version.

>> This patch is not changing any functionalities or logic but only a
>> preparation patch for the next patch in this series.
>>
> 
> You are also moving the default phy_gear code to ufs_qcom_set_host_params(). So
> it should be mentioned in the commit message.
> 

Sure.

Thanks,
Can Guo.
diff mbox series

Patch

diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index 55ee31d..94d34b5 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1069,6 +1069,14 @@  static void ufs_qcom_set_host_params(struct ufs_hba *hba)
 
 	/* This driver only supports symmetic gear setting i.e., hs_tx_gear == hs_rx_gear */
 	host_params->hs_tx_gear = host_params->hs_rx_gear = ufs_qcom_get_hs_gear(hba);
+	host->phy_gear = host_params->hs_tx_gear;
+
+	/*
+	 * Power up the PHY using the minimum supported gear (UFS_HS_G2).
+	 * Switching to max gear will be performed during reinit if supported.
+	 */
+	if (host->hw_ver.major < 0x5)
+		host->phy_gear = UFS_HS_G2;
 }
 
 static void ufs_qcom_set_caps(struct ufs_hba *hba)
@@ -1313,12 +1321,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->phy_gear = UFS_HS_G2;
-
 	return 0;
 
 out_variant_clear: