linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] scsi: ufs: Allow vendor apply device quirks in advance
       [not found] <1582517363-11536-1-git-send-email-cang@codeaurora.org>
@ 2020-02-24  4:09 ` Can Guo
  2020-02-24  4:39   ` Stanley Chu
  2020-02-24  4:09 ` [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices Can Guo
  1 sibling, 1 reply; 6+ messages in thread
From: Can Guo @ 2020-02-24  4:09 UTC (permalink / raw)
  To: asutoshd, nguyenb, hongwus, rnayak, linux-scsi, kernel-team,
	saravanak, salyzyn, cang
  Cc: Alim Akhtar, Avri Altman, James E.J. Bottomley,
	Martin K. Petersen, Stanley Chu, Bean Huo, Bart Van Assche,
	Venkat Gopalakrishnan, Tomas Winkler, open list

Currently ufshcd_vops_apply_dev_quirks() comes after all UniPro parameters
have been tuned. Move it up so that vendors have a chance to apply device
quirks in advance.

Signed-off-by: Can Guo <cang@codeaurora.org>
---
 drivers/scsi/ufs/ufshcd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index abd0e6b..03af432 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6804,14 +6804,14 @@ static void ufshcd_tune_unipro_params(struct ufs_hba *hba)
 		ufshcd_tune_pa_hibern8time(hba);
 	}
 
+	ufshcd_vops_apply_dev_quirks(hba);
+
 	if (hba->dev_quirks & UFS_DEVICE_QUIRK_PA_TACTIVATE)
 		/* set 1ms timeout for PA_TACTIVATE */
 		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TACTIVATE), 10);
 
 	if (hba->dev_quirks & UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE)
 		ufshcd_quirk_tune_host_pa_tactivate(hba);
-
-	ufshcd_vops_apply_dev_quirks(hba);
 }
 
 static void ufshcd_clear_dbg_ufs_stats(struct ufs_hba *hba)
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices
       [not found] <1582517363-11536-1-git-send-email-cang@codeaurora.org>
  2020-02-24  4:09 ` [PATCH v2 1/2] scsi: ufs: Allow vendor apply device quirks in advance Can Guo
@ 2020-02-24  4:09 ` Can Guo
  2020-02-24  6:02   ` Avri Altman
  2020-02-25 16:58   ` Asutosh Das (asd)
  1 sibling, 2 replies; 6+ messages in thread
From: Can Guo @ 2020-02-24  4:09 UTC (permalink / raw)
  To: asutoshd, nguyenb, hongwus, rnayak, linux-scsi, kernel-team,
	saravanak, salyzyn, cang
  Cc: Andy Gross, Bjorn Andersson, Alim Akhtar, Avri Altman,
	James E.J. Bottomley, Martin K. Petersen, Alexios Zavras,
	Bart Van Assche, Evan Green, Bean Huo, Thomas Gleixner,
	open list:ARM/QUALCOMM SUPPORT, open list

Western Digital UFS devices require host's PA_TACTIVATE to be lower than
device's PA_TACTIVATE, otherwise it may get stuck during hibern8 sequence.

Signed-off-by: Can Guo <cang@codeaurora.org>
---
 drivers/scsi/ufs/ufs-qcom.c   | 3 +++
 drivers/scsi/ufs/ufs_quirks.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c
index c69c29a1c..4caa57f 100644
--- a/drivers/scsi/ufs/ufs-qcom.c
+++ b/drivers/scsi/ufs/ufs-qcom.c
@@ -956,6 +956,9 @@ static int ufs_qcom_apply_dev_quirks(struct ufs_hba *hba)
 	if (hba->dev_quirks & UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME)
 		err = ufs_qcom_quirk_host_pa_saveconfigtime(hba);
 
+	if (hba->dev_info.wmanufacturerid == UFS_VENDOR_WDC)
+		hba->dev_quirks |= UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE;
+
 	return err;
 }
 
diff --git a/drivers/scsi/ufs/ufs_quirks.h b/drivers/scsi/ufs/ufs_quirks.h
index d0ab147..df7a1e6 100644
--- a/drivers/scsi/ufs/ufs_quirks.h
+++ b/drivers/scsi/ufs/ufs_quirks.h
@@ -15,6 +15,7 @@
 #define UFS_VENDOR_TOSHIBA     0x198
 #define UFS_VENDOR_SAMSUNG     0x1CE
 #define UFS_VENDOR_SKHYNIX     0x1AD
+#define UFS_VENDOR_WDC         0x145
 
 /**
  * ufs_dev_fix - ufs device quirk info
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] scsi: ufs: Allow vendor apply device quirks in advance
  2020-02-24  4:09 ` [PATCH v2 1/2] scsi: ufs: Allow vendor apply device quirks in advance Can Guo
@ 2020-02-24  4:39   ` Stanley Chu
  2020-02-24  4:53     ` Can Guo
  0 siblings, 1 reply; 6+ messages in thread
From: Stanley Chu @ 2020-02-24  4:39 UTC (permalink / raw)
  To: Can Guo
  Cc: asutoshd, nguyenb, hongwus, rnayak, linux-scsi, kernel-team,
	saravanak, salyzyn, Alim Akhtar, Avri Altman,
	James E.J. Bottomley, Martin K. Petersen, Bean Huo,
	Bart Van Assche, Venkat Gopalakrishnan, Tomas Winkler, open list

Hi Can,

On Sun, 2020-02-23 at 20:09 -0800, Can Guo wrote:
> Currently ufshcd_vops_apply_dev_quirks() comes after all UniPro parameters
> have been tuned. Move it up so that vendors have a chance to apply device
> quirks in advance.
> 
> Signed-off-by: Can Guo <cang@codeaurora.org>

As discussed, ufs-mediatek needs to do corresponding patch and I will
submit it once this commit is merged.

Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] scsi: ufs: Allow vendor apply device quirks in advance
  2020-02-24  4:39   ` Stanley Chu
@ 2020-02-24  4:53     ` Can Guo
  0 siblings, 0 replies; 6+ messages in thread
From: Can Guo @ 2020-02-24  4:53 UTC (permalink / raw)
  To: Stanley Chu
  Cc: asutoshd, nguyenb, hongwus, rnayak, linux-scsi, kernel-team,
	saravanak, salyzyn, Alim Akhtar, Avri Altman,
	James E.J. Bottomley, Martin K. Petersen, Bean Huo,
	Bart Van Assche, Venkat Gopalakrishnan, Tomas Winkler, open list

Hi Stanley,

On 2020-02-24 12:39, Stanley Chu wrote:
> Hi Can,
> 
> On Sun, 2020-02-23 at 20:09 -0800, Can Guo wrote:
>> Currently ufshcd_vops_apply_dev_quirks() comes after all UniPro 
>> parameters
>> have been tuned. Move it up so that vendors have a chance to apply 
>> device
>> quirks in advance.
>> 
>> Signed-off-by: Can Guo <cang@codeaurora.org>
> 
> As discussed, ufs-mediatek needs to do corresponding patch and I will
> submit it once this commit is merged.
> 
> Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>

Yes, sure, thanks for your cooperation. :)

Best Regards,
Can Guo.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices
  2020-02-24  4:09 ` [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices Can Guo
@ 2020-02-24  6:02   ` Avri Altman
  2020-02-25 16:58   ` Asutosh Das (asd)
  1 sibling, 0 replies; 6+ messages in thread
From: Avri Altman @ 2020-02-24  6:02 UTC (permalink / raw)
  To: Can Guo, asutoshd, nguyenb, hongwus, rnayak, linux-scsi,
	kernel-team, saravanak, salyzyn
  Cc: Andy Gross, Bjorn Andersson, Alim Akhtar, James E.J. Bottomley,
	Martin K. Petersen, Alexios Zavras, Bart Van Assche, Evan Green,
	Bean Huo, Thomas Gleixner, open list:ARM/QUALCOMM SUPPORT,
	open list

 
> 
> Western Digital UFS devices require host's PA_TACTIVATE to be lower than
> device's PA_TACTIVATE, otherwise it may get stuck during hibern8 sequence.
> 
> Signed-off-by: Can Guo <cang@codeaurora.org>
Acked-by: Avri Altman <avri.altman@wdc.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices
  2020-02-24  4:09 ` [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices Can Guo
  2020-02-24  6:02   ` Avri Altman
@ 2020-02-25 16:58   ` Asutosh Das (asd)
  1 sibling, 0 replies; 6+ messages in thread
From: Asutosh Das (asd) @ 2020-02-25 16:58 UTC (permalink / raw)
  To: Can Guo, nguyenb, hongwus, rnayak, linux-scsi, kernel-team,
	saravanak, salyzyn
  Cc: Andy Gross, Bjorn Andersson, Alim Akhtar, Avri Altman,
	James E.J. Bottomley, Martin K. Petersen, Alexios Zavras,
	Bart Van Assche, Evan Green, Bean Huo, Thomas Gleixner,
	open list:ARM/QUALCOMM SUPPORT, open list

On 2/23/2020 8:09 PM, Can Guo wrote:
> Western Digital UFS devices require host's PA_TACTIVATE to be lower than
> device's PA_TACTIVATE, otherwise it may get stuck during hibern8 sequence.
> 
> Signed-off-by: Can Guo <cang@codeaurora.org>
> ---

Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>

>   drivers/scsi/ufs/ufs-qcom.c   | 3 +++
>   drivers/scsi/ufs/ufs_quirks.h | 1 +
>   2 files changed, 4 insertions(+)
> 
> diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c
> index c69c29a1c..4caa57f 100644
> --- a/drivers/scsi/ufs/ufs-qcom.c
> +++ b/drivers/scsi/ufs/ufs-qcom.c
> @@ -956,6 +956,9 @@ static int ufs_qcom_apply_dev_quirks(struct ufs_hba *hba)
>   	if (hba->dev_quirks & UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME)
>   		err = ufs_qcom_quirk_host_pa_saveconfigtime(hba);
>   
> +	if (hba->dev_info.wmanufacturerid == UFS_VENDOR_WDC)
> +		hba->dev_quirks |= UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE;
> +
>   	return err;
>   }
>   
> diff --git a/drivers/scsi/ufs/ufs_quirks.h b/drivers/scsi/ufs/ufs_quirks.h
> index d0ab147..df7a1e6 100644
> --- a/drivers/scsi/ufs/ufs_quirks.h
> +++ b/drivers/scsi/ufs/ufs_quirks.h
> @@ -15,6 +15,7 @@
>   #define UFS_VENDOR_TOSHIBA     0x198
>   #define UFS_VENDOR_SAMSUNG     0x1CE
>   #define UFS_VENDOR_SKHYNIX     0x1AD
> +#define UFS_VENDOR_WDC         0x145
>   
>   /**
>    * ufs_dev_fix - ufs device quirk info
> 


-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-02-25 16:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1582517363-11536-1-git-send-email-cang@codeaurora.org>
2020-02-24  4:09 ` [PATCH v2 1/2] scsi: ufs: Allow vendor apply device quirks in advance Can Guo
2020-02-24  4:39   ` Stanley Chu
2020-02-24  4:53     ` Can Guo
2020-02-24  4:09 ` [PATCH v2 2/2] scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices Can Guo
2020-02-24  6:02   ` Avri Altman
2020-02-25 16:58   ` Asutosh Das (asd)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).