未验证 提交 20b4016a 编写于 作者: Ł Łukasz Stelmach 提交者: Mark Brown

spi: spi-s3c64xx: Ensure cur_speed holds actual clock value

Make sure the cur_speed value used in s3c64xx_enable_datapath()
to configure DMA channel and in s3c64xx_wait_for_*() to calculate the
transfer timeout is set to the actual value of (half) the clock speed.

Don't change non-CMU case, because no frequency calculation errors have
been reported.
Reviewed-by: NKrzysztof Kozlowski <krzk@kernel.org>
Suggested-by: NTomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: NŁukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201002122243.26849-8-l.stelmach@samsung.comSigned-off-by: NMark Brown <broonie@kernel.org>
上级 58d54781
...@@ -626,6 +626,7 @@ static int s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd) ...@@ -626,6 +626,7 @@ static int s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd)
ret = clk_set_rate(sdd->src_clk, sdd->cur_speed * 2); ret = clk_set_rate(sdd->src_clk, sdd->cur_speed * 2);
if (ret) if (ret)
return ret; return ret;
sdd->cur_speed = clk_get_rate(sdd->src_clk) / 2;
} else { } else {
/* Configure Clock */ /* Configure Clock */
val = readl(regs + S3C64XX_SPI_CLK_CFG); val = readl(regs + S3C64XX_SPI_CLK_CFG);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册