On 13.06.2023 13:15, Marek Szyprowski wrote: > On 05.05.2023 13:25, Maxime Ripard wrote: >> From: Stephen Boyd <sboyd@xxxxxxxxxx> >> >> We'll need to turn the code in clk_mux_determine_rate_flags() to deal >> with CLK_SET_RATE_NO_REPARENT into a helper clock drivers will be able >> to use if they don't want to allow reparenting. >> >> Cc: Abel Vesa <abelvesa@xxxxxxxxxx> >> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> >> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> >> Cc: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> >> Cc: "Andreas Färber" <afaerber@xxxxxxx> >> Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> >> Cc: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx> >> Cc: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> >> Cc: Chen-Yu Tsai <wens@xxxxxxxx> >> Cc: Chen-Yu Tsai <wenst@xxxxxxxxxxxx> >> Cc: Chunyan Zhang <zhang.lyra@xxxxxxxxx> >> Cc: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> >> Cc: Daniel Vetter <daniel@xxxxxxxx> >> Cc: David Airlie <airlied@xxxxxxxxx> >> Cc: David Lechner <david@xxxxxxxxxxxxxx> >> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxx> >> Cc: Fabio Estevam <festevam@xxxxxxxxx> >> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> >> Cc: Jaroslav Kysela <perex@xxxxxxxx> >> Cc: Jernej Skrabec <jernej.skrabec@xxxxxxxxx> >> Cc: Jonathan Hunter <jonathanh@xxxxxxxxxx> >> Cc: Kishon Vijay Abraham I <kishon@xxxxxxxxxx> >> Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> >> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> >> Cc: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> >> Cc: Manivannan Sadhasivam <mani@xxxxxxxxxx> >> Cc: Mark Brown <broonie@xxxxxxxxxx> >> Cc: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx> >> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> >> Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> >> Cc: Mikko Perttunen <mperttunen@xxxxxxxxxx> >> Cc: Miles Chen <miles.chen@xxxxxxxxxxxx> >> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> >> Cc: Orson Zhai <orsonzhai@xxxxxxxxx> >> Cc: Paul Cercueil <paul@xxxxxxxxxxxxxxx> >> Cc: Peng Fan <peng.fan@xxxxxxx> >> Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> >> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> >> Cc: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx> >> Cc: Samuel Holland <samuel@xxxxxxxxxxxx> >> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> >> Cc: Sekhar Nori <nsekhar@xxxxxx> >> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> >> Cc: Takashi Iwai <tiwai@xxxxxxxx> >> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> >> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> >> Cc: Vinod Koul <vkoul@xxxxxxxxxx> >> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx >> Cc: linux-actions@xxxxxxxxxxxxxxxxxxx >> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >> Cc: linux-mips@xxxxxxxxxxxxxxx >> Cc: linux-phy@xxxxxxxxxxxxxxxxxxx >> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx >> Cc: linux-rtc@xxxxxxxxxxxxxxx >> Cc: linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx >> Cc: linux-sunxi@xxxxxxxxxxxxxxx >> Cc: linux-tegra@xxxxxxxxxxxxxxx >> Cc: NXP Linux Team <linux-imx@xxxxxxx> >> Cc: patches@xxxxxxxxxxxxxxxxxxxxx >> Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> >> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx> >> Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> >> --- > > This patch landed in today's linux-next as commit 1b4e99fda73f ("clk: > Move no reparent case into a separate function"). Unfortunately it > causes serious regression of some of my test boards. Namely Exynos3250 > based boards are so slow after it, that my test scripts fail with a > timeout waiting for them to finish booting. I will try to debug this > later in the evening to check what has happened that some clocks got > very low rate. > I just got a few spare minutes, so I decided to take a look into this issue. The following change fixed my problem: diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index ffc9f03840b7..7ac9f7a8cb84 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -629,6 +629,7 @@ clk_core_determine_rate_no_reparent(struct clk_hw *hw, best = clk_core_get_rate_nolock(core); } + req->best_parent_rate = best; req->rate = best; return 0; best_parent_rate is still being used somewhere in the code and needs to be updated regardless of the CLK_SET_RATE_NO_REPARENT flag. > ... Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland