projects
/
wrapfs-2.6.37.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c7e0c60
)
scsi: ufs: ufs-mediatek: Fix power down spec violation
author
Peter Wang
<peter.wang@mediatek.com>
Wed, 12 May 2021 10:01:45 +0000
(18:01 +0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 3 Jun 2021 07:00:43 +0000
(09:00 +0200)
[ Upstream commit
c625b80b9d00f3546722cd77527f9697c8c4c911
]
As per spec, 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:
Power down:
1. Assert RST_N low
2. Turn-off VCC
3. Turn-off VCCQ/VCCQ2
Link:
https://lore.kernel.org/r/1620813706-25331-1-git-send-email-peter.wang@mediatek.com
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/ufs/ufs-mediatek.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/ufs/ufs-mediatek.c
b/drivers/scsi/ufs/ufs-mediatek.c
index 09d2ac20508b5a2ef4fcb7493488eb799b8a152b..aace13399a7f3f634937be20443d3894797b3d58 100644
(file)
--- a/
drivers/scsi/ufs/ufs-mediatek.c
+++ b/
drivers/scsi/ufs/ufs-mediatek.c
@@
-824,6
+824,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);
@@
-844,6
+845,9
@@
static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
ufs_mtk_vreg_set_lpm(hba, true);
}
+ if (ufshcd_is_link_off(hba))
+ ufs_mtk_device_reset_ctrl(0, res);
+
return 0;
}