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: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/a801afc0-a8f2-a0a4-0f2b-a7201351d563@gmail.com
This commit is contained in:
Heiner Kallweit
2022-08-29 20:52:59 +02:00
committed by Jerome Brunet
parent 9abf2313ad
commit 19648dddb1

View File

@@ -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;
}