Thread (10 messages) 10 messages, 2 authors, 2020-10-27

RE: [PATCH 3/4] scsi: ufs-mediatek: Fix flag of unipro low-power mode

From: Avri Altman <Avri.Altman@wdc.com>
Date: 2020-09-19 08:15:48
Also in: linux-mediatek, linux-scsi, lkml

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 
quoted hunk ↗ jump to hunk
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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help