Hi, On Tue, Jun 13, 2023 at 02:15:10PM +0200, Marek Szyprowski wrote: > 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. Yeah, that makes sense, could you send a patch? Thanks for figuring it out! Maxime
Attachment:
signature.asc
Description: PGP signature