RE: [PATCH 3/4] scsi: ufs-mediatek: Fix flag of unipro low-power mode
From: Stanley Chu <hidden>
Date: 2020-10-27 09:52:28
Also in:
linux-mediatek, linux-scsi, lkml
Hi Avri, On Sat, 2020-09-19 at 08:08 +0000, Avri Altman wrote:
quoted
Forcibly leave UniPro low-power mode if UIC commands is failed. This makes hba_enable_delay_us as correct (default) value for re-enabling the host. At the same time, change type of parameter "lpm" in function ufs_mtk_unipro_set_pm() to "bool".Semantically, better leave it u32 as its eventually assigned to the arg3 of the uic command
Thanks for reminding. I will use specific u32 values while sending arg3 to fix this.
quoted
Signed-off-by: Stanley Chu <redacted> --- drivers/scsi/ufs/ufs-mediatek.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-)diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c index 887c03e8bcc0..feba74a72309 100644 --- a/drivers/scsi/ufs/ufs-mediatek.c +++ b/drivers/scsi/ufs/ufs-mediatek.c@@ -419,7 +419,7 @@ static int ufs_mtk_pwr_change_notify(struct ufs_hba*hba, return ret; } -static int ufs_mtk_unipro_set_pm(struct ufs_hba *hba, u32 lpm) +static int ufs_mtk_unipro_set_pm(struct ufs_hba *hba, bool lpm) { int ret; struct ufs_mtk_host *host = ufshcd_get_variant(hba);@@ -427,8 +427,14 @@ static int ufs_mtk_unipro_set_pm(struct ufs_hba*hba, u32 lpm) ret = ufshcd_dme_set(hba, UIC_ARG_MIB_SEL(VS_UNIPROPOWERDOWNCONTROL, 0), lpm); - if (!ret) + if (!ret || !lpm) { + /* + * Forcibly set as non-LPM mode if UIC commands is failed + * to use default hba_enable_delay_us value for re-enabling + * the host. + */ host->unipro_lpm = lpm;Maybe just host->unipro_lpm = false; instead
This statement shall stay like this for case: "lpm = true" Thanks, Stanley Chu _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel