tegra124: 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=Built, but similar usage tested on tegra132. Change-Id: I1147f2bed84b93d1b776205df9ae04d1db9c98a5 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: c38e054dd166d5eb53f692833b5ce88a230816e3 Original-Change-Id: I6d3f3da4e035e872890d8b67947b17a981673dba Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/219712 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/8819 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
46ba4807e9
commit
53a83fba1e
|
@ -416,8 +416,7 @@ static inline u32 rx_fifo_count(struct tegra_spi_channel *spi)
|
||||||
static int tegra_spi_pio_finish(struct tegra_spi_channel *spi)
|
static int tegra_spi_pio_finish(struct tegra_spi_channel *spi)
|
||||||
{
|
{
|
||||||
u8 *p = spi->in_buf;
|
u8 *p = spi->in_buf;
|
||||||
struct mono_time start;
|
struct stopwatch sw;
|
||||||
struct rela_time rt;
|
|
||||||
|
|
||||||
clrbits_le32(&spi->regs->command1, SPI_CMD1_RX_EN | SPI_CMD1_TX_EN);
|
clrbits_le32(&spi->regs->command1, SPI_CMD1_RX_EN | SPI_CMD1_TX_EN);
|
||||||
|
|
||||||
|
@ -425,12 +424,11 @@ static int tegra_spi_pio_finish(struct tegra_spi_channel *spi)
|
||||||
* Allow some time in case the Rx FIFO does not yet have
|
* Allow some time in case the Rx FIFO does not yet have
|
||||||
* all packets pushed into it. See chrome-os-partner:24215.
|
* all packets pushed into it. See chrome-os-partner:24215.
|
||||||
*/
|
*/
|
||||||
timer_monotonic_get(&start);
|
stopwatch_init_usecs_expire(&sw, SPI_FIFO_XFER_TIMEOUT_US);
|
||||||
do {
|
do {
|
||||||
if (rx_fifo_count(spi) == spi_byte_count(spi))
|
if (rx_fifo_count(spi) == spi_byte_count(spi))
|
||||||
break;
|
break;
|
||||||
rt = current_time_from(&start);
|
} while (!stopwatch_expired(&sw));
|
||||||
} while (rela_time_in_microseconds(&rt) < SPI_FIFO_XFER_TIMEOUT_US);
|
|
||||||
|
|
||||||
while (!(read32(&spi->regs->fifo_status) &
|
while (!(read32(&spi->regs->fifo_status) &
|
||||||
SPI_FIFO_STATUS_RX_FIFO_EMPTY)) {
|
SPI_FIFO_STATUS_RX_FIFO_EMPTY)) {
|
||||||
|
|
Loading…
Reference in New Issue