diff options
| author | Marek Szyprowski <m.szyprowski@samsung.com> | 2026-10-21 12:17:44 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-21 16:25:52 +0100 |
| commit | 7916b55b100973b5fb5b974e8f7c8ae9f3ac1d2e (patch) | |
| tree | 17240b27a04b8306669723afdac2398514fc94aa /scripts/Makefile.thinlto | |
| parent | 693574504051a19383640cfb99524a6b69e4624f (diff) | |
| download | linux-7916b55b100973b5fb5b974e8f7c8ae9f3ac1d2e.tar.gz linux-7916b55b100973b5fb5b974e8f7c8ae9f3ac1d2e.zip | |
ASoC: wm8994: fix MCLK index used for setting MCLK rate
wm8994_set_dai_sysclk() passes the AIF index (dai->id - 1) to
wm8994_set_mclk_rate(), which uses it to index the MCLK clocks and
their cached rates. As a result, selecting MCLK2 as the AIF1 clock
source sets and reads back the rate of MCLK1 instead, and the rate
of MCLK1 is then stored as the MCLK2 rate.
On the Exynos4412 Trats2 board, where MCLK1 is a fixed 24MHz clock and
MCLK2 a 32768Hz clock used when the codec is idle, this gives:
wm8994-codec wm8994-codec: AIF1 using MCLK2 at 24000000Hz
so the driver assumes a 12MHz SYSCLK while it actually runs at 32kHz.
This skips the 128fs AIF clock ratio setup for low SYSCLK rates and
makes the mic detection rate configuration use the wrong clock rate.
Pass the MCLK index matching the selected clock source instead.
Fixes: 419e2f508336 ("ASoC: wm8994: Add support for setting MCLK clock rate")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Link: https://patch.msgid.link/20261021101750.3297770-4-m.szyprowski@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
