From a32a9d1c48c6863bc219d95497323155e8874c2b Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Wed, 24 Sep 2014 09:53:15 -0500 Subject: rk3288: switch to stopwatch API Instead of using rela_time use the stopwatch API as the semantics fit perfectly with the expiration usage. BUG=None BRANCH=None TEST=None, but similar usage tested on tegra132. Change-Id: I91ef59212a2dd1b48640b1aaaab6acacf4e9b3e6 Signed-off-by: Patrick Georgi Original-Commit-Id: b1dd8380f04641f4f73caa3441f349d9eca6be05 Original-Change-Id: Iff3293debc2f85553c9e9b765084e5c00720012c Original-Signed-off-by: Aaron Durbin Original-Reviewed-on: https://chromium-review.googlesource.com/219713 Original-Reviewed-by: Julius Werner Original-Reviewed-by: Furquan Shaikh Reviewed-on: http://review.coreboot.org/8895 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/soc/rockchip/rk3288/spi.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/soc/rockchip/rk3288/spi.c b/src/soc/rockchip/rk3288/spi.c index 396f537a01..844d692aa4 100644 --- a/src/soc/rockchip/rk3288/spi.c +++ b/src/soc/rockchip/rk3288/spi.c @@ -167,14 +167,13 @@ void spi_release_bus(struct spi_slave *slave) static int rockchip_spi_wait_till_not_busy(struct rockchip_spi *regs) { - struct mono_time start; - struct rela_time rt; - timer_monotonic_get(&start); + struct stopwatch sw; + + stopwatch_init_usecs_expire(&sw, SPI_TIMEOUT_US); do { if (!(readl(®s->sr) & SR_BUSY)) return 0; - rt = current_time_from(&start); - } while (rela_time_in_microseconds(&rt) < SPI_TIMEOUT_US); + } while (!stopwatch_expired(&sw)); printk(BIOS_DEBUG, "RK SPI: Status keeps busy for 1000us after a read/write!\n"); return -1; -- cgit v1.2.3