]> git.ipfire.org Git - thirdparty/linux.git/commit
ASoC: simple-card-utils: add sysclk ordering support
authorStefano Radaelli <stefano.r@variscite.com>
Fri, 13 Feb 2026 15:03:55 +0000 (16:03 +0100)
committerMark Brown <broonie@kernel.org>
Sun, 22 Feb 2026 23:52:23 +0000 (23:52 +0000)
commitd075cef4af6327a5de4bee7bf77591e3201e54f4
tree381f3ece16c882813853de2151a5c68d68ac6ff5
parent5879521cb558871472b97c4744dbe634a4286f0e
ASoC: simple-card-utils: add sysclk ordering support

When simple-audio-card programs sysclk for CPU and codec DAIs during
hw_params, the ordering of these calls may matter on some platforms.

Some CPU DAIs finalize or adjust the MCLK rate as part of their
set_sysclk() callback (for example by calling clk_set_rate()). If the
codec sysclk is configured before the CPU DAI applies the final MCLK
rate, the codec may configure its internal clocking based on a
non-final MCLK value.

Such situations can arise depending on the clock provider/consumer
relationship between the CPU DAI and the codec.

Introduce an explicit sysclk ordering enum in simple-card-utils and use
it to control the order of snd_soc_dai_set_sysclk() calls in the mclk-fs
handling path. The default behaviour remains unchanged (codec-first)
to avoid regressions.

Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/20260213150355.442609-1-stefano.r@variscite.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/simple_card_utils.h
sound/soc/generic/simple-card-utils.c