From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Shengjiu Wang <shengjiu.wang@gmail.com>
Cc: Shengjiu Wang <shengjiu.wang@nxp.com>,
lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz,
tiwai@suse.com, patches@opensource.cirrus.com,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] ASoC: wm8524: enable constraints when sysclk is configured.
Date: Wed, 18 Jun 2025 09:42:16 +0100 [thread overview]
Message-ID: <aFJ76BA1aTtBMn31@opensource.cirrus.com> (raw)
In-Reply-To: <CAA+D8AMQ5pAw6uVGQEYK+oPHJAojqnPbB+hsMWbmQOwmE9AFvw@mail.gmail.com>
On Wed, Jun 18, 2025 at 03:45:48PM +0800, Shengjiu Wang wrote:
> On Tue, Jun 17, 2025 at 4:55 PM Charles Keepax
> <ckeepax@opensource.cirrus.com> wrote:
> > On Tue, Jun 17, 2025 at 03:18:33PM +0800, Shengjiu Wang wrote:
> > > In some cases, the sysclk won't be configured on init, and sysclk can be
> > > changed in hw_params() according to different sample rate, for example,
> > > for 44kHz sample rate, the sysclk is 11.2896MHz, for 48kHz sample rate,
> > > the sysclk is 12.288MHz.
> > >
> > > In order to support the above case, only enable constraints when sysclk
> > > is configured.
> > >
> > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > > ---
> > > @@ -98,6 +93,8 @@ static int wm8524_set_dai_sysclk(struct snd_soc_dai *codec_dai,
> > > int i, j = 0;
> > >
> > > wm8524->sysclk = freq;
> > > + if (!wm8524->sysclk)
> > > + return 0;
> > >
> > > wm8524->rate_constraint.count = 0;
> > > for (i = 0; i < ARRAY_SIZE(lrclk_ratios); i++) {
> >
> > We probably should clear rate_constraint.count in the clearing
> > sysclk case, and we should probably also check if the DAI is
> > active. The user shoudln't be allowed to change clock there is
> > audio already happening.
>
> Seems we can't check if the DAI is active or not in sysclk(),
> because startup()->set_sysclk(), in sysclk() the dai is always
> active. if we allow the clock changed in hw_params time, then
> we can't check if the DAI is active.
Yeah seems you are correct there, feel free to ignore this
comment. Looking in more detail as there is only a single, single
direction DAI, I think there is less concern here as well as we
can't really open the hardware for two rates at once anyway.
Thanks,
Charles
prev parent reply other threads:[~2025-06-18 8:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-17 7:18 [PATCH v2] ASoC: wm8524: enable constraints when sysclk is configured Shengjiu Wang
2025-06-17 8:55 ` Charles Keepax
2025-06-18 7:45 ` Shengjiu Wang
2025-06-18 8:42 ` Charles Keepax [this message]
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=aFJ76BA1aTtBMn31@opensource.cirrus.com \
--to=ckeepax@opensource.cirrus.com \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=shengjiu.wang@gmail.com \
--cc=shengjiu.wang@nxp.com \
--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