mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 12:33:18 -04:00
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:
committed by
Jerome Brunet
parent
9abf2313ad
commit
19648dddb1
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user