[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Y3IE3ta8hLLUcu7H@google.com>
Date: Mon, 14 Nov 2022 09:05:34 +0000
From: Lee Jones <lee@...nel.org>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Ulf Hansson <ulf.hansson@...aro.org>,
Maxime Ripard <maxime@...no.tech>,
Stephen Boyd <sboyd@...nel.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Chen-Yu Tsai <wens@...e.org>, Daniel Vetter <daniel@...ll.ch>,
Nicolas Ferre <nicolas.ferre@...rochip.com>,
Thierry Reding <thierry.reding@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Shawn Guo <shawnguo@...nel.org>,
Fabio Estevam <festevam@...il.com>,
Claudiu Beznea <claudiu.beznea@...rochip.com>,
Michael Turquette <mturquette@...libre.com>,
Dinh Nguyen <dinguyen@...nel.org>,
Paul Cercueil <paul@...pouillou.net>,
Chunyan Zhang <zhang.lyra@...il.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Andreas Färber <afaerber@...e.de>,
Jonathan Hunter <jonathanh@...dia.com>,
Abel Vesa <abelvesa@...nel.org>,
Charles Keepax <ckeepax@...nsource.cirrus.com>,
Alessandro Zummo <a.zummo@...ertech.it>,
Peter De Schrijver <pdeschrijver@...dia.com>,
Orson Zhai <orsonzhai@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Prashant Gaikwad <pgaikwad@...dia.com>,
Liam Girdwood <lgirdwood@...il.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Samuel Holland <samuel@...lland.org>,
Matthias Brugger <matthias.bgg@...il.com>,
Richard Fitzgerald <rf@...nsource.cirrus.com>,
Vinod Koul <vkoul@...nel.org>,
NXP Linux Team <linux-imx@....com>,
Sekhar Nori <nsekhar@...com>,
Kishon Vijay Abraham I <kishon@...nel.org>,
Takashi Iwai <tiwai@...e.com>,
David Airlie <airlied@...il.com>,
Luca Ceresoli <luca.ceresoli@...tlin.com>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Baolin Wang <baolin.wang@...ux.alibaba.com>,
David Lechner <david@...hnology.com>,
Sascha Hauer <s.hauer@...gutronix.de>,
Mark Brown <broonie@...nel.org>,
Max Filippov <jcmvbkbc@...il.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
linux-stm32@...md-mailman.stormreply.com,
alsa-devel@...a-project.org, linux-mediatek@...ts.infradead.org,
linux-phy@...ts.infradead.org, linux-mips@...r.kernel.org,
linux-renesas-soc@...r.kernel.org,
linux-actions@...ts.infradead.org, linux-clk@...r.kernel.org,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
patches@...nsource.cirrus.com, linux-tegra@...r.kernel.org,
linux-rtc@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-sunxi@...ts.linux.dev, linux-kernel@...r.kernel.org,
dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH v2 35/65] clk: ux500: sysctrl: Add a determine_rate hook
On Fri, 11 Nov 2022, Linus Walleij wrote:
> On Thu, Nov 10, 2022 at 2:05 PM Ulf Hansson <ulf.hansson@...aro.org> wrote:
> > On Thu, 10 Nov 2022 at 12:39, Linus Walleij <linus.walleij@...aro.org> wrote:
> > >
> > > On Thu, Nov 10, 2022 at 12:29 PM Ulf Hansson <ulf.hansson@...aro.org> wrote:
> > > > On Fri, 4 Nov 2022 at 14:32, Maxime Ripard <maxime@...no.tech> wrote:
> > > > >
> > > > > The UX500 sysctrl "set_parent" clocks implement a mux with a set_parent
> > > > > hook, but doesn't provide a determine_rate implementation.
> > > > >
> > > > > This is a bit odd, since set_parent() is there to, as its name implies,
> > > > > change the parent of a clock. However, the most likely candidate to
> > > > > trigger that parent change is a call to clk_set_rate(), with
> > > > > determine_rate() figuring out which parent is the best suited for a
> > > > > given rate.
> > > > >
> > > > > The other trigger would be a call to clk_set_parent(), but it's far less
> > > > > used, and it doesn't look like there's any obvious user for that clock.
> > > >
> > > > If I recall correctly, that is the use case we did target for these
> > > > types of clocks. See sound/soc/ux500/ux500_ab85xx.c, for example.
> > >
> > > Hm I am trying to get that driver to work ... from time to time.
> > > It's just that ALSA SoC DT has changed to much that it turns out
> > > into a complete rewrite :/
> > >
> > > So in sound/soc/ux500/mop500_ab8500.c
> > > I see this:
> > >
> > > status = clk_set_parent(drvdata->clk_ptr_intclk, clk_ptr);
> > > if (status)
> > > (...)
> > >
> > > and there is elaborate code to switch between "SYSCLK" and
> > > "ULPCLK" (ulta-low power clock). Just like you say... however
> > > a clock named SYSCLK or ULPCLK does not appear in the
> > > code in drivers/clk/ux500 or any DT bindings so... it seems to
> > > be non-working for the time being.
> >
> > It's definitely not working, but the corresponding clocks ("ulpclk",
> > "intclk", "audioclk", etc) are being registered in ab8500_reg_clks().
> >
> > What seems to be missing is a DT conversion for these clocks, so they
> > can be consumed properly. Right?
>
> Yeps that and a few more things, I have a scratch rewrite here:
> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git/log/?h=ux500-audio-rewrite
>
> I remember Lee said he had audio working with the mainline kernel
> on Snowball at one point, unfortunately I think that was before we
> started with the DT conversions and then we probably broke it.
That was also 100 years ago. :)
But yes, it used to work at one point.
--
Lee Jones [李琼斯]
Powered by blists - more mailing lists