[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<DM6PR04MB6575AEC570DA0E05BCDFADCDFC1A2@DM6PR04MB6575.namprd04.prod.outlook.com>
Date: Thu, 16 Jan 2025 21:40:21 +0000
From: Avri Altman <Avri.Altman@....com>
To: Ziqi Chen <quic_ziqichen@...cinc.com>, "quic_cang@...cinc.com"
<quic_cang@...cinc.com>, "bvanassche@....org" <bvanassche@....org>,
"mani@...nel.org" <mani@...nel.org>, "beanhuo@...ron.com"
<beanhuo@...ron.com>, "junwoo80.lee@...sung.com" <junwoo80.lee@...sung.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"quic_nguyenb@...cinc.com" <quic_nguyenb@...cinc.com>,
"quic_nitirawa@...cinc.com" <quic_nitirawa@...cinc.com>,
"quic_rampraka@...cinc.com" <quic_rampraka@...cinc.com>
CC: "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>, Manivannan
Sadhasivam <manivannan.sadhasivam@...aro.org>, "James E.J. Bottomley"
<James.Bottomley@...senPartnership.com>, "open list:ARM/QUALCOMM MAILING
LIST" <linux-arm-msm@...r.kernel.org>, open list
<linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 4/8] scsi: ufs: qcom: Implement the freq_to_gear_speed()
vops
> From: Can Guo <quic_cang@...cinc.com>
>
> Implement the freq_to_gear_speed() vops to map the unipro core clock
> frequency to the corresponding maximum supported gear speed.
>
> Co-developed-by: Ziqi Chen <quic_ziqichen@...cinc.com>
> Signed-off-by: Ziqi Chen <quic_ziqichen@...cinc.com>
> Signed-off-by: Can Guo <quic_cang@...cinc.com>
> ---
> drivers/ufs/host/ufs-qcom.c | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index
> 1e8a23eb8c13..64263fa884f5 100644
> --- a/drivers/ufs/host/ufs-qcom.c
> +++ b/drivers/ufs/host/ufs-qcom.c
> @@ -1803,6 +1803,37 @@ static int ufs_qcom_config_esi(struct ufs_hba *hba)
> return ret;
> }
>
> +static int ufs_qcom_freq_to_gear_speed(struct ufs_hba *hba, unsigned
> +long freq, u32 *gear) {
> + int ret = 0;
> +
> + switch (freq) {
Maybe you can use here the UNIPRO_CORE_CLK_FREQ_xx ?
Thanks,
Avri
> + case 403000000:
> + *gear = UFS_HS_G5;
> + break;
> + case 300000000:
> + *gear = UFS_HS_G4;
> + break;
> + case 201500000:
> + *gear = UFS_HS_G3;
> + break;
> + case 150000000:
> + case 100000000:
> + *gear = UFS_HS_G2;
> + break;
> + case 75000000:
> + case 37500000:
> + *gear = UFS_HS_G1;
> + break;
> + default:
> + ret = -EINVAL;
> + dev_err(hba->dev, "Unsupported clock freq\n");
> + break;
> + }
> +
> + return ret;
> +}
> +
> /*
> * struct ufs_hba_qcom_vops - UFS QCOM specific variant operations
> *
> @@ -1833,6 +1864,7 @@ static const struct ufs_hba_variant_ops
> ufs_hba_qcom_vops = {
> .op_runtime_config = ufs_qcom_op_runtime_config,
> .get_outstanding_cqs = ufs_qcom_get_outstanding_cqs,
> .config_esi = ufs_qcom_config_esi,
> + .freq_to_gear_speed = ufs_qcom_freq_to_gear_speed,
> };
>
> /**
> --
> 2.34.1
Powered by blists - more mailing lists