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 <pgeorgi@chromium.org>
Original-Commit-Id: b1dd8380f04641f4f73caa3441f349d9eca6be05
Original-Change-Id: Iff3293debc2f85553c9e9b765084e5c00720012c
Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/219713
Original-Reviewed-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: http://review.coreboot.org/8895
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Aaron Durbin 2014-09-24 09:53:15 -05:00 committed by Patrick Georgi
parent a88c919767
commit a32a9d1c48
1 changed files with 4 additions and 5 deletions

View File

@ -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(&regs->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;