[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8cdf1cfa971945792b509a687a4de735@walle.cc>
Date: Mon, 15 Mar 2021 13:05:30 +0100
From: Michael Walle <michael@...le.cc>
To: Mark Brown <broonie@...nel.org>, Sameer Pujar <spujar@...dia.com>
Cc: alsa-devel@...a-project.org, devicetree@...r.kernel.org,
jonathanh@...dia.com, kuninori.morimoto.gx@...esas.com,
linux-kernel@...r.kernel.org, linux-tegra@...r.kernel.org,
robh@...nel.org, sharadg@...dia.com, thierry.reding@...il.com
Subject: Re: [PATCH 1/3] ASoC: simple-card-utils: Fix device module clock
Am 2021-03-12 14:46, schrieb Mark Brown:
> On Fri, Mar 12, 2021 at 01:30:02PM +0100, Michael Walle wrote:
>
>> The card calls set_sysclk(), which eventually ends up in the codec.
>> The codec therefore, could figure out if it needs to configure the
>> clock or if it can use its internal FLL.
>> Is that what you mean?
>
> Yes.
>
>> But the set_sysclk() of the codec isn't even called, because the
>> card itself already tries to call clk_set_rate() on the Codec's MCLK,
>> which returns with an error [0].
>
> OK, so I think we need to push this down a level so that the clock
> setting is implemented by the core/CODEC rather than by simple-card,
> with the helpers being something the CODEC can opt out of.
Sameer, it looks like the proper fix should be to add the clock
support to your codec.
I've also looked at other users of "simple-audio-card" and
it looks like they will break too. For example,
- arch/arm64/boot/dts/rockchip/rk3399.dtsi
If I'm not mistaken, this will try to set the first clock
of hdmi@...40000 there, which is "iahb".
- arch/arm/boot/dts/sun8i-a33.dtsi
There "&ccu CLK_BUS_CODEC" of codec@...2e00 will be changed
And it doesn't stop there, it also sets the first clock
of the CPU endpoint, which I guess just works because .set_rate
is a noop for the most clocks which are used there.
-michael
Powered by blists - more mailing lists