* scsi: ufs-mediatek: fix ufs power down specs violation @ 2021-05-12 8:39 peter.wang 2021-05-12 8:39 ` [PATCH v1 1/1] " peter.wang 0 siblings, 1 reply; 3+ messages in thread From: peter.wang @ 2021-05-12 8:39 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, cc.chou, chaotian.jing, jiajie.hao As per specs, e.g, JESD220E chapter 7.2, while powering off the ufs device, RST_N signal should be between VSS(Ground) and VCCQ/VCCQ2. The power down sequence after fixing as below: Power down: 1. Assert RST_N low 2. Turn-off VCC 3. Turn-off VCCQ/VCCQ2 drivers/scsi/ufs/ufs-mediatek.c | 4 ++++ 1 file changed, 4 insertions(+) ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v1 1/1] scsi: ufs-mediatek: fix ufs power down specs violation 2021-05-12 8:39 scsi: ufs-mediatek: fix ufs power down specs violation peter.wang @ 2021-05-12 8:39 ` peter.wang 2021-05-12 8:57 ` Stanley Chu 0 siblings, 1 reply; 3+ messages in thread From: peter.wang @ 2021-05-12 8:39 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, cc.chou, chaotian.jing, jiajie.hao From: Peter Wang <peter.wang@mediatek.com> As per specs, e.g, JESD220E chapter 7.2, while powering off the ufs device, RST_N signal should be between VSS(Ground) and VCCQ/VCCQ2. The power down sequence after fixing as below: Power down: 1. Assert RST_N low 2. Turn-off VCC 3. Turn-off VCCQ/VCCQ2 Change-Id: I297e9afe3c22bb1a5fc5e7acce9b5ecfd20181ed Signed-off-by: Peter Wang <peter.wang@mediatek.com> --- drivers/scsi/ufs/ufs-mediatek.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c index c55202b..47b4066 100644 --- a/drivers/scsi/ufs/ufs-mediatek.c +++ b/drivers/scsi/ufs/ufs-mediatek.c @@ -922,6 +922,7 @@ static void ufs_mtk_vreg_set_lpm(struct ufs_hba *hba, bool lpm) static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) { int err; + struct arm_smccc_res res; if (ufshcd_is_link_hibern8(hba)) { err = ufs_mtk_link_set_lpm(hba); @@ -941,6 +942,9 @@ static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) goto fail; } + if (ufshcd_is_link_off(hba)) + ufs_mtk_device_reset_ctrl(0, res); + return 0; fail: /* -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] scsi: ufs-mediatek: fix ufs power down specs violation 2021-05-12 8:39 ` [PATCH v1 1/1] " peter.wang @ 2021-05-12 8:57 ` Stanley Chu 0 siblings, 0 replies; 3+ messages in thread From: Stanley Chu @ 2021-05-12 8:57 UTC (permalink / raw) To: peter.wang Cc: linux-scsi, martin.petersen, avri.altman, alim.akhtar, jejb, wsd_upstream, chun-hung.wu, alice.chao, cc.chou, chaotian.jing, jiajie.hao Hi Peter, Thanks for posting this fix. On Wed, 2021-05-12 at 16:39 +0800, peter.wang@mediatek.com wrote: > From: Peter Wang <peter.wang@mediatek.com> > > As per specs, e.g, JESD220E chapter 7.2, while powering off > the ufs device, RST_N signal should be between VSS(Ground) > and VCCQ/VCCQ2. The power down sequence after fixing as below: > > Power down: > 1. Assert RST_N low > 2. Turn-off VCC > 3. Turn-off VCCQ/VCCQ2 > > Change-Id: I297e9afe3c22bb1a5fc5e7acce9b5ecfd20181ed Please drop Change-Id line. > Signed-off-by: Peter Wang <peter.wang@mediatek.com> > --- > drivers/scsi/ufs/ufs-mediatek.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c > index c55202b..47b4066 100644 > --- a/drivers/scsi/ufs/ufs-mediatek.c > +++ b/drivers/scsi/ufs/ufs-mediatek.c > @@ -922,6 +922,7 @@ static void ufs_mtk_vreg_set_lpm(struct ufs_hba *hba, bool lpm) > static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) > { > int err; > + struct arm_smccc_res res; > > if (ufshcd_is_link_hibern8(hba)) { > err = ufs_mtk_link_set_lpm(hba); > @@ -941,6 +942,9 @@ static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) > goto fail; > } > > + if (ufshcd_is_link_off(hba)) > + ufs_mtk_device_reset_ctrl(0, res); > + Please also consider the case: Linkoff during suspend. In this case, HW reset pin shall be released during resume flow. Thanks, Stanley Chu ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-05-12 8:57 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-05-12 8:39 scsi: ufs-mediatek: fix ufs power down specs violation peter.wang 2021-05-12 8:39 ` [PATCH v1 1/1] " peter.wang 2021-05-12 8:57 ` Stanley Chu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox