[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220914063702.20283-1-wenchao.chen666@gmail.com>
Date: Wed, 14 Sep 2022 14:37:02 +0800
From: Wenchao Chen <wenchao.chen666@...il.com>
To: adrian.hunter@...el.com, ulf.hansson@...aro.org,
orsonzhai@...il.com, baolin.wang@...ux.alibaba.com,
zhang.lyra@...il.com
Cc: linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org,
megoo.tang@...il.com, lzx.stg@...il.com
Subject: [PATCH] mmc: sdhci-sprd: Fix the limitation of div
From: Wenchao Chen <wenchao.chen@...soc.com>
Because the bit field size of the divider coefficient register is 1023, it is
limited before returning the value.
Signed-off-by: Wenchao Chen <wenchao.chen@...soc.com>
---
drivers/mmc/host/sdhci-sprd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
index f33e9349e4e6..46c55ab4884c 100644
--- a/drivers/mmc/host/sdhci-sprd.c
+++ b/drivers/mmc/host/sdhci-sprd.c
@@ -205,14 +205,14 @@ static inline u32 sdhci_sprd_calc_div(u32 base_clk, u32 clk)
if ((base_clk / div) > (clk * 2))
div++;
- if (div > SDHCI_SPRD_CLK_MAX_DIV)
- div = SDHCI_SPRD_CLK_MAX_DIV;
-
if (div % 2)
div = (div + 1) / 2;
else
div = div / 2;
+ if (div > SDHCI_SPRD_CLK_MAX_DIV)
+ div = SDHCI_SPRD_CLK_MAX_DIV;
+
return div;
}
--
2.17.1
Powered by blists - more mailing lists