Commit 7d140982 authored by Sowjanya Komatineni's avatar Sowjanya Komatineni Committed by Thierry Reding
Browse files

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: default avatarSowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 767598d4
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -21,9 +21,9 @@
 */

#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/host1x.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
@@ -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)