From 7d1409826d95216782b514f102889ed6e71abc04 Mon Sep 17 00:00:00 2001 From: Sowjanya Komatineni Date: Tue, 14 Jul 2020 21:20:52 -0700 Subject: gpu: host1x: mipi: Use readl_relaxed_poll_timeout() in tegra_mipi_wait() Use readl_relaxed_poll_timeout() in tegra_mipi_wait() to simplify the code. Signed-off-by: Sowjanya Komatineni Signed-off-by: Thierry Reding --- drivers/gpu/host1x/mipi.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'drivers') diff --git a/drivers/gpu/host1x/mipi.c b/drivers/gpu/host1x/mipi.c index 762d349ad00f..259e70c47a38 100644 --- a/drivers/gpu/host1x/mipi.c +++ b/drivers/gpu/host1x/mipi.c @@ -21,9 +21,9 @@ */ #include -#include #include #include +#include #include #include #include @@ -295,19 +295,15 @@ EXPORT_SYMBOL(tegra_mipi_disable); static int tegra_mipi_wait(struct tegra_mipi *mipi) { - unsigned long timeout = jiffies + msecs_to_jiffies(250); + void __iomem *status_reg = mipi->regs + (MIPI_CAL_STATUS << 2); u32 value; + int err; - while (time_before(jiffies, timeout)) { - value = tegra_mipi_readl(mipi, MIPI_CAL_STATUS); - if ((value & MIPI_CAL_STATUS_ACTIVE) == 0 && - (value & MIPI_CAL_STATUS_DONE) != 0) - return 0; - - usleep_range(10, 50); - } - - return -ETIMEDOUT; + err = readl_relaxed_poll_timeout(status_reg, value, + !(value & MIPI_CAL_STATUS_ACTIVE) && + (value & MIPI_CAL_STATUS_DONE), 50, + 250000); + return err; } int tegra_mipi_calibrate(struct tegra_mipi_device *device) -- cgit v1.2.3