[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