mmc: sdhci-sprd: Fix the limitation of div
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@unisoc.com> Link: https://lore.kernel.org/r/20220914063702.20283-1-wenchao.chen666@gmail.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
627a78b2de
commit
d252e9b107
@ -205,14 +205,14 @@ static inline u32 sdhci_sprd_calc_div(u32 base_clk, u32 clk)
|
|||||||
if ((base_clk / div) > (clk * 2))
|
if ((base_clk / div) > (clk * 2))
|
||||||
div++;
|
div++;
|
||||||
|
|
||||||
if (div > SDHCI_SPRD_CLK_MAX_DIV)
|
|
||||||
div = SDHCI_SPRD_CLK_MAX_DIV;
|
|
||||||
|
|
||||||
if (div % 2)
|
if (div % 2)
|
||||||
div = (div + 1) / 2;
|
div = (div + 1) / 2;
|
||||||
else
|
else
|
||||||
div = div / 2;
|
div = div / 2;
|
||||||
|
|
||||||
|
if (div > SDHCI_SPRD_CLK_MAX_DIV)
|
||||||
|
div = SDHCI_SPRD_CLK_MAX_DIV;
|
||||||
|
|
||||||
return div;
|
return div;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user