mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
FROMGIT: scsi: ufs: ufs-mediatek: Prevent host hang by setting CLK_CG early
Some UFSHCI hosts in MediaTek UFS platform need workaround to prevent host
hang issue by setting CLK_CG bit before host is enabled.
This operation shall have no side effect on those platforms which do not
support this bit.
Link: https://lore.kernel.org/r/20220623035052.18802-4-stanley.chu@mediatek.com
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 2bae03a6ac git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next)
Bug: 239946304
Signed-off-by: Bart Van Assche <bvanassche@google.com>
Change-Id: I1250357f44930a75f9873ae064cbfdfbb365fe64
This commit is contained in:
committed by
Treehugger Robot
parent
ee2bbb6f58
commit
7bf7b500bf
@@ -183,6 +183,14 @@ static int ufs_mtk_hce_enable_notify(struct ufs_hba *hba,
|
||||
hba->capabilities &= ~MASK_AUTO_HIBERN8_SUPPORT;
|
||||
hba->ahit = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Turn on CLK_CG early to bypass abnormal ERR_CHK signal
|
||||
* to prevent host hang issue
|
||||
*/
|
||||
ufshcd_writel(hba,
|
||||
ufshcd_readl(hba, REG_UFS_XOUFS_CTRL) | 0x80,
|
||||
REG_UFS_XOUFS_CTRL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
/*
|
||||
* Vendor specific UFSHCI Registers
|
||||
*/
|
||||
#define REG_UFS_XOUFS_CTRL 0x140
|
||||
#define REG_UFS_REFCLK_CTRL 0x144
|
||||
#define REG_UFS_EXTREG 0x2100
|
||||
#define REG_UFS_MPHYCTRL 0x2200
|
||||
|
||||
Reference in New Issue
Block a user