Commit 19648ddd authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Jerome Brunet
Browse files

clk: meson: pll: adjust timeout in meson_clk_pll_wait_lock()



Currently we loop over meson_parm_read() up to 24mln times.
This results in a unpredictable timeout period. In my case
it's over 5s on a S905X4-based system. Make the timeout
period predictable and set it to 100ms.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/a801afc0-a8f2-a0a4-0f2b-a7201351d563@gmail.com
parent 9abf2313
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -277,15 +277,15 @@ static int meson_clk_pll_wait_lock(struct clk_hw *hw)
{
	struct clk_regmap *clk = to_clk_regmap(hw);
	struct meson_clk_pll_data *pll = meson_clk_pll_data(clk);
	int delay = 24000000;
	int delay = 5000;

	do {
		/* Is the clock locked now ? */
		/* Is the clock locked now ? Time out after 100ms. */
		if (meson_parm_read(clk->map, &pll->l))
			return 0;

		delay--;
	} while (delay > 0);
		udelay(20);
	} while (--delay);

	return -ETIMEDOUT;
}