Commit 3aef4632 authored by Matthias Seidel's avatar Matthias Seidel Committed by Mark Brown

spi: dw: round up result of calculation for clock divider

Avoid ending up with a higher frequency than requested
Signed-off-by: default avatarMatthias Seidel <kernel@mseidel.net>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 13b10301
...@@ -300,7 +300,7 @@ static int dw_spi_transfer_one(struct spi_master *master, ...@@ -300,7 +300,7 @@ static int dw_spi_transfer_one(struct spi_master *master,
if (transfer->speed_hz != dws->current_freq) { if (transfer->speed_hz != dws->current_freq) {
if (transfer->speed_hz != chip->speed_hz) { if (transfer->speed_hz != chip->speed_hz) {
/* clk_div doesn't support odd number */ /* clk_div doesn't support odd number */
chip->clk_div = (dws->max_freq / transfer->speed_hz + 1) & 0xfffe; chip->clk_div = (DIV_ROUND_UP(dws->max_freq, transfer->speed_hz) + 1) & 0xfffe;
chip->speed_hz = transfer->speed_hz; chip->speed_hz = transfer->speed_hz;
} }
dws->current_freq = transfer->speed_hz; dws->current_freq = transfer->speed_hz;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment