From: Olivier MOYSAN <olivier.moysan@foss.st.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
<linux-sound@vger.kernel.org>,
<linux-stm32@st-md-mailman.stormreply.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] ASoC: stm32: sai: manage context in set_sysclk callback
Date: Wed, 17 Sep 2025 16:20:23 +0200 [thread overview]
Message-ID: <a9725bfd-a2b8-4343-83f2-d18908029ea0@foss.st.com> (raw)
In-Reply-To: <87ms6taph0.wl-kuninori.morimoto.gx@renesas.com>
Hi Kuninori,
On 9/17/25 02:32, Kuninori Morimoto wrote:
>
> Hi Olivier
>
> Thank you for your feedback
>
>> Here is feedback regarding commit 5725bce709db1c001140d79398581e067e28c031
>> ASoC: simple-card-utils: Unify clock direction by clk_direction
> (snip)
>> To accommodate the change introduced by this commit, I added the property
>> "system-clock-direction-out" in the SAI device tree node.
> (snip)
>> * Before the change:
>> - Initialization:
>> simple_init_dai() -> set_sysclk(id=0, freq=sai_ck freq, dir=out)
>> Calls clk_set_rate_exclusive()
>> simple_util_shutdown() -> set_sysclk(id=0, freq=0, dir=out)
>> Calls clk_rate_exclusive_put() (releases the mclk clock)
>
> Here, about "Before the change". Does this "change" mean "before adding
> system-clock-direction-out" or "before commit 5725bce709db1..." ?
>
Oh yes, I mean both in fact. Namely, before having the commit and the
system-clock-direction-out property. Typically, I tested on a v6.10 and
on a v6.17 (or later) where I noticed a change in the SAI driver behavior.
>> * After the change:
>> - Initialization:
>> simple_init_dai() -> set_sysclk(id=0, freq=sai_ck freq, dir=out)
>> Calls clk_set_rate_exclusive()
>> simple_util_shutdown() -> set_sysclk(id=0, freq=0, dir=in)
>> clk_rate_exclusive_put() NOT called (mclk clock is not released)
>
> Hmm...
> If it was latest kernel, and if you added "system-clock-direction-out" in DT,
> dir should be "out" in my understanding. dir=in means it doesn't have
> "system-clock-direction-out".
>
> And, dir will not be changed (out/in) in init / shutdown.
> Are these same DAI ? Both "struct snd_soc_dai" and "struct simple_util_dai"
> have "*name". Could you please double-check it ?
>
I did supplementary checks, keeping only one DAI and adding additional
traces. It seems I reached a wrong conclusion regarding the cause of
unbalanced calls. Sorry for the confusion.
Looking at the traces (see below), initially, we had one call with the
'in' direction (kernel clock frequency) and one call with the 'out'
direction.
Now, both calls have the 'out' direction when the property
'system-clock-direction-out' is set. This seems more consistent with the
changes from commit 5725bce709db1.
In my setup, the kernel clock is an input clock. Maybe it should be
tagged as an input clock. However, we have no
'system-clock-direction-in' property yet.
Anyway, the patch in the STM32 SAI driver is still valid.
v6.10
simple_init_dai - dai: 0x110b6418, dai name: cs42l51-hifi,
simple_init_dai - dai: 0x6204899f, dai name: 4400b004.audio-controller,
stm32_sai_set_sysclk - dai: 0x6204899f, dai name:
4400b004.audio-controller, id: 0, freq: 29700000, dir: 0
stm32_sai_set_sysclk - dai: 0x6204899f, dai name:
4400b004.audio-controller, id: 0, freq: 12288000, dir: 1
stm32_sai_set_sysclk - dai: 0x6204899f, [set_rate] current freq: 0,
request freq: 12288000
simple_util_shutdown - dai: 0x6204899f, dai name:
4400b004.audio-controller, dir: 0
stm32_sai_set_sysclk - dai: 0x6204899f, dai name:
4400b004.audio-controller, id: 0, freq: 0, dir: 1
stm32_sai_set_sysclk - dai: 0x6204899f, [put_rate]
v6.17
simple_init_dai - dai: 0xbca889eb, dai name: cs42l51-hifi,
simple_init_dai - dai: 0x4c0382ed, dai name: 4400b004.audio-controller,
stm32_sai_set_sysclk - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, id: 0, freq: 29700000, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, [set_rate] current freq: 0,
request freq: 29700000
stm32_sai_set_sysclk - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, id: 0, freq: 12288000, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, [set_rate] current freq:
24573875, request freq: 12288000
stm32_sai_set_sysclk - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, id: 0, freq: 12288000, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, [set_rate] current freq:
24573875, request freq: 12288000
stm32_sai_set_sysclk - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, id: 0, freq: 12288000, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, [set_rate] current freq:
24573875, request freq: 12288000
stm32_sai_set_sysclk - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, id: 0, freq: 12288000, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, [set_rate] current freq:
24573875, request freq: 12288000
simple_util_shutdown - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, dai name:
4400b004.audio-controller, id: 0, freq: 0, dir: 1
stm32_sai_set_sysclk - dai: 0x4c0382ed, [put_rate]
I hope this can be helpful.
Thanks and Best regards
Olivier
> Thank you for your help !!
>
> Best regards
> ---
> Kuninori Morimoto
next prev parent reply other threads:[~2025-09-17 14:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-16 12:31 Olivier Moysan
2025-09-17 0:32 ` Kuninori Morimoto
2025-09-17 14:20 ` Olivier MOYSAN [this message]
2025-09-18 1:34 ` Kuninori Morimoto
2025-09-24 9:48 ` Olivier MOYSAN
2025-09-24 23:26 ` Kuninori Morimoto
2025-09-26 12:50 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a9725bfd-a2b8-4343-83f2-d18908029ea0@foss.st.com \
--to=olivier.moysan@foss.st.com \
--cc=alexandre.torgue@foss.st.com \
--cc=arnaud.pouliquen@foss.st.com \
--cc=broonie@kernel.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®