All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 2/2] spi: dw: round up result of calculation for clock divider
@ 2016-09-04  0:05 Matthias Seidel
  2016-09-06 10:53 ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Matthias Seidel @ 2016-09-04  0:05 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA

Avoid ending up with a higher frequency than requested

Signed-off-by: Matthias Seidel <kernel-NoMTM8u0nx3R7s880joybQ@public.gmane.org>
---
Previously failing example:
requested transfer freq: 16MHz
max_freq = 200MHz
calculated clk_div = 12
actual frequency = 200/12 = 16.6666MHz
---
 drivers/spi/spi-dw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c
index c85e4b3..2fd517d 100644
--- a/drivers/spi/spi-dw.c
+++ b/drivers/spi/spi-dw.c
@@ -300,7 +300,8 @@ static int dw_spi_transfer_one(struct spi_master *master,
 	if (transfer->speed_hz != dws->current_freq) {
 		if (transfer->speed_hz != chip->speed_hz) {
 			/* clk_div doesn't support odd number */
-			chip->clk_div = (dws->max_freq / transfer->speed_hz + 1) & 0xfffe;
+			chip->clk_div = ((dws->max_freq + transfer->speed_hz) /
+				transfer->speed_hz + 1) & 0xfffe;
 			chip->speed_hz = transfer->speed_hz;
 		}
 		dws->current_freq = transfer->speed_hz;
-- 
2.7.4



--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-09-12 19:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-04  0:05 [PATCH v2 2/2] spi: dw: round up result of calculation for clock divider Matthias Seidel
2016-09-06 10:53 ` Mark Brown
     [not found]   ` <20160906105352.GK3950-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-09-06 17:16     ` [PATCH v3 " Matthias Seidel
2016-09-06 22:21       ` Mark Brown
     [not found]         ` <20160906222131.GT3950-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-09-07 15:45           ` [PATCH v4] " Matthias Seidel
2016-09-12 19:08       ` Applied "spi: dw: round up result of calculation for clock divider" to the spi tree Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.