[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac3f68fa7f0dd3de567cc321eb5c5026@codeaurora.org>
Date: Wed, 12 Feb 2020 09:04:31 -0800
From: asutoshd@...eaurora.org
To: Can Guo <cang@...eaurora.org>
Cc: nguyenb@...eaurora.org, hongwus@...eaurora.org,
rnayak@...eaurora.org, linux-scsi@...r.kernel.org,
kernel-team@...roid.com, saravanak@...gle.com, salyzyn@...gle.com,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
Avri Altman <avri.altman@....com>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Pedro Sousa <sousa@...opsys.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-scsi-owner@...r.kernel.org
Subject: Re: [PATCH v1 2/2] scsi: ufs: Select INITIAL ADAPT type for HS Gear4
On 2020-02-11 21:38, Can Guo wrote:
> ADAPT is added specifically for HS Gear4 mode only, select INITIAL
> ADAPT
> before do power mode change to G4 and select NO ADAPT before switch to
> non-G4 modes.
>
> Signed-off-by: Can Guo <cang@...eaurora.org>
> ---
Reviewed-by: Asutosh Das <asutoshd@...eaurora.org>
> drivers/scsi/ufs/ufs-qcom.c | 14 ++++++++++++++
> drivers/scsi/ufs/unipro.h | 7 +++++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c
> index d593523..6a905bb 100644
> --- a/drivers/scsi/ufs/ufs-qcom.c
> +++ b/drivers/scsi/ufs/ufs-qcom.c
> @@ -942,6 +942,20 @@ static int ufs_qcom_pwr_change_notify(struct
> ufs_hba *hba,
> if (!ufshcd_is_hs_mode(&hba->pwr_info) &&
> ufshcd_is_hs_mode(dev_req_params))
> ufs_qcom_dev_ref_clk_ctrl(host, true);
> +
> + if (host->hw_ver.major >= 0x4) {
> + if (dev_req_params->gear_tx == UFS_HS_G4) {
> + /* INITIAL ADAPT */
> + ufshcd_dme_set(hba,
> + UIC_ARG_MIB(PA_TXHSADAPTTYPE),
> + PA_INITIAL_ADAPT);
> + } else {
> + /* NO ADAPT */
> + ufshcd_dme_set(hba,
> + UIC_ARG_MIB(PA_TXHSADAPTTYPE),
> + PA_NO_ADAPT);
> + }
> + }
> break;
> case POST_CHANGE:
> if (ufs_qcom_cfg_timers(hba, dev_req_params->gear_rx,
> diff --git a/drivers/scsi/ufs/unipro.h b/drivers/scsi/ufs/unipro.h
> index 3dc4d8b..766d551 100644
> --- a/drivers/scsi/ufs/unipro.h
> +++ b/drivers/scsi/ufs/unipro.h
> @@ -146,6 +146,12 @@
> #define PA_SLEEPNOCONFIGTIME 0x15A2
> #define PA_STALLNOCONFIGTIME 0x15A3
> #define PA_SAVECONFIGTIME 0x15A4
> +#define PA_TXHSADAPTTYPE 0x15D4
> +
> +/* Adpat type for PA_TXHSADAPTTYPE attribute */
> +#define PA_REFRESH_ADAPT 0x00
> +#define PA_INITIAL_ADAPT 0x01
> +#define PA_NO_ADAPT 0x03
>
> #define PA_TACTIVATE_TIME_UNIT_US 10
> #define PA_HIBERN8_TIME_UNIT_US 100
> @@ -203,6 +209,7 @@ enum ufs_hs_gear_tag {
> UFS_HS_G1, /* HS Gear 1 (default for reset) */
> UFS_HS_G2, /* HS Gear 2 */
> UFS_HS_G3, /* HS Gear 3 */
> + UFS_HS_G4, /* HS Gear 4 */
> };
>
> enum ufs_unipro_ver {
Powered by blists - more mailing lists