linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] scsi: ufs: Export ufshcd_hba_stop
@ 2021-05-27 15:58 Alice
  2021-05-27 15:58 ` [PATCH 1/1] scsi: ufs-mediatek: Fix HWReset timing Alice
  0 siblings, 1 reply; 3+ messages in thread
From: Alice @ 2021-05-27 15:58 UTC (permalink / raw)
  To: stanley.chu, linux-scsi, martin.petersen, avri.altman, alim.akhtar, jejb
  Cc: wsd_upstream, peter.wang, chun-hung.wu, alice.chao, jonathan.hsu,
	powen.kao, cc.chou, chaotian.jing, jiajie.hao

From: "Alice.Chao" <alice.chao@mediatek.com>

Export ufshcd_hba_stop to allow vendors to disable HCI in variant ops.

Signed-off-by: Alice.Chao <alice.chao@mediatek.com>
---
 drivers/scsi/ufs/ufshcd.c | 3 ++-
 drivers/scsi/ufs/ufshcd.h | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 3eb54937f1d8..986fab41bc42 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -4417,7 +4417,7 @@ EXPORT_SYMBOL_GPL(ufshcd_make_hba_operational);
  * ufshcd_hba_stop - Send controller to reset state
  * @hba: per adapter instance
  */
-static inline void ufshcd_hba_stop(struct ufs_hba *hba)
+void ufshcd_hba_stop(struct ufs_hba *hba)
 {
 	unsigned long flags;
 	int err;
@@ -4436,6 +4436,7 @@ static inline void ufshcd_hba_stop(struct ufs_hba *hba)
 	if (err)
 		dev_err(hba->dev, "%s: Controller disable failed\n", __func__);
 }
+EXPORT_SYMBOL_GPL(ufshcd_hba_stop);
 
 /**
  * ufshcd_hba_execute_hce - initialize the controller
diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
index 5eb66a8debc7..708a0a9acff5 100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -947,6 +947,7 @@ int ufshcd_wait_for_register(struct ufs_hba *hba, u32 reg, u32 mask,
 				unsigned long timeout_ms);
 void ufshcd_parse_dev_ref_clk_freq(struct ufs_hba *hba, struct clk *refclk);
 void ufshcd_update_evt_hist(struct ufs_hba *hba, u32 id, u32 val);
+void ufshcd_hba_stop(struct ufs_hba *hba);
 
 static inline void check_upiu_size(void)
 {
-- 
2.18.0


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

* [PATCH 1/1] scsi: ufs-mediatek: Fix HWReset timing
  2021-05-27 15:58 [PATCH 1/1] scsi: ufs: Export ufshcd_hba_stop Alice
@ 2021-05-27 15:58 ` Alice
  2021-05-27 16:39   ` Alim Akhtar
  0 siblings, 1 reply; 3+ messages in thread
From: Alice @ 2021-05-27 15:58 UTC (permalink / raw)
  To: stanley.chu, linux-scsi, martin.petersen, avri.altman, alim.akhtar, jejb
  Cc: wsd_upstream, peter.wang, chun-hung.wu, alice.chao, jonathan.hsu,
	powen.kao, cc.chou, chaotian.jing, jiajie.hao

From: "Alice.Chao" <alice.chao@mediatek.com>

HCI disable before HW Reset.
Because of the property of mtk ufshci,
we need to change reset flow to avoid potential issues.

Change-Id: I3eb917fd2953b58dcf7e021286d1de71c9232cfb
Signed-off-by: Alice.Chao <alice.chao@mediatek.com>
CR-Id: ALPS05728133
Feature: UFS(Universal Flash Storage)
---
 drivers/scsi/ufs/ufs-mediatek.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c
index a981f261b304..c62603ed3d33 100644
--- a/drivers/scsi/ufs/ufs-mediatek.c
+++ b/drivers/scsi/ufs/ufs-mediatek.c
@@ -846,6 +846,9 @@ static int ufs_mtk_device_reset(struct ufs_hba *hba)
 {
 	struct arm_smccc_res res;
 
+	/* disable hba before device reset */
+	ufshcd_hba_stop(hba);
+
 	ufs_mtk_device_reset_ctrl(0, res);
 
 	/*
-- 
2.18.0


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

* RE: [PATCH 1/1] scsi: ufs-mediatek: Fix HWReset timing
  2021-05-27 15:58 ` [PATCH 1/1] scsi: ufs-mediatek: Fix HWReset timing Alice
@ 2021-05-27 16:39   ` Alim Akhtar
  0 siblings, 0 replies; 3+ messages in thread
From: Alim Akhtar @ 2021-05-27 16:39 UTC (permalink / raw)
  To: 'Alice',
	stanley.chu, linux-scsi, martin.petersen, avri.altman, jejb
  Cc: wsd_upstream, peter.wang, chun-hung.wu, jonathan.hsu, powen.kao,
	cc.chou, chaotian.jing, jiajie.hao



> -----Original Message-----
> From: Alice <alice.chao@mediatek.com>
> Sent: 27 May 2021 21:28
> To: stanley.chu@mediatek.com; linux-scsi@vger.kernel.org;
> martin.petersen@oracle.com; avri.altman@wdc.com;
> alim.akhtar@samsung.com; jejb@linux.ibm.com
> Cc: wsd_upstream@mediatek.com; peter.wang@mediatek.com; chun-
> hung.wu@mediatek.com; alice.chao@mediatek.com;
> jonathan.hsu@mediatek.com; powen.kao@mediatek.com;
> cc.chou@mediatek.com; chaotian.jing@mediatek.com;
> jiajie.hao@mediatek.com
> Subject: [PATCH 1/1] scsi: ufs-mediatek: Fix HWReset timing
> 
> From: "Alice.Chao" <alice.chao@mediatek.com>
> 
> HCI disable before HW Reset.
> Because of the property of mtk ufshci,
> we need to change reset flow to avoid potential issues.
> 
Please re-format the commit message and mention few wards about potential
issues.

> Change-Id: I3eb917fd2953b58dcf7e021286d1de71c9232cfb
Hmm, run a checkpatch before submitting any patch. 

> Signed-off-by: Alice.Chao <alice.chao@mediatek.com>
> CR-Id: ALPS05728133
What are these ID? Please remove.
> Feature: UFS(Universal Flash Storage)
Please check Documentation/process/submitting-patches.rst, before submitting
patches.

> ---
>  drivers/scsi/ufs/ufs-mediatek.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/scsi/ufs/ufs-mediatek.c
b/drivers/scsi/ufs/ufs-mediatek.c
> index a981f261b304..c62603ed3d33 100644
> --- a/drivers/scsi/ufs/ufs-mediatek.c
> +++ b/drivers/scsi/ufs/ufs-mediatek.c
> @@ -846,6 +846,9 @@ static int ufs_mtk_device_reset(struct ufs_hba *hba)
> {
>  	struct arm_smccc_res res;
> 
> +	/* disable hba before device reset */
> +	ufshcd_hba_stop(hba);
> +
>  	ufs_mtk_device_reset_ctrl(0, res);
> 
>  	/*
> --
> 2.18.0



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

end of thread, other threads:[~2021-05-27 16:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-27 15:58 [PATCH 1/1] scsi: ufs: Export ufshcd_hba_stop Alice
2021-05-27 15:58 ` [PATCH 1/1] scsi: ufs-mediatek: Fix HWReset timing Alice
2021-05-27 16:39   ` Alim Akhtar

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).