[REGRESSION] Re: [PATCH v1] ASoC: rockchip: i2s_tdm: Re-add the set_sysclk callback
Luca Ceresoli
luca.ceresoli at bootlin.com
Wed Feb 18 08:51:51 PST 2026
Hello Detlev,
On Wed Feb 18, 2026 at 5:01 PM CET, Detlev Casanova wrote:
> Hi Lucas, sorry for breaking support on your board.
> I'm also surprised that you were not added in CC of the original patch.
>
> Can you try to keep the patch and apply the attached one instead ?
Thanks for the quick feedback.
About your patch:
--- a/sound/soc/rockchip/rockchip_i2s_tdm.c
+++ b/sound/soc/rockchip/rockchip_i2s_tdm.c
@@ -665,6 +665,12 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream,
mclk_rate = i2s_tdm->mclk_rx_freq;
}
+ /* If the dai/component driver didn't call set_sysclk(), simply
+ * use the freq from the params.
+ */
The comment is slightly incorrect: set_sysclk() was called in my case, but
only for playback, not for capture. You can reword accordingly.
+ if (!mclk_rate)
+ mclk_rate = DEFAULT_MCLK_FS * params_rate(params);
With this, and DEFAULT_MCLK_FS defined to 256, arecord is working again.
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the Linux-rockchip
mailing list