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: 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help