Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: arizona: Update arizona_aif_cfg_changed to use RX_BCLK_RATE

Currently the function arizona_aif_cfg_changed uses the TX_BCLK_RATE,
however this register is not used on wm8998. This was not noticed as
previously snd_soc_component_read did not print an error message.
However, now the log gets filled with error messages, further more the
test for if the LRCLK changed will return spurious results.

Update the code to use the RX_BCLK_RATE register, the LRCLK parameters
are written to both registers and the RX_BCLK_RATE register is used
across all Arizona devices.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220628153409.3266932-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Charles Keepax and committed by
Mark Brown
f99e9306 870d72ab

+2 -2
+2 -2
sound/soc/codecs/arizona.c
··· 1760 1760 if (bclk != (val & ARIZONA_AIF1_BCLK_FREQ_MASK)) 1761 1761 return true; 1762 1762 1763 - val = snd_soc_component_read(component, base + ARIZONA_AIF_TX_BCLK_RATE); 1764 - if (lrclk != (val & ARIZONA_AIF1TX_BCPF_MASK)) 1763 + val = snd_soc_component_read(component, base + ARIZONA_AIF_RX_BCLK_RATE); 1764 + if (lrclk != (val & ARIZONA_AIF1RX_BCPF_MASK)) 1765 1765 return true; 1766 1766 1767 1767 val = snd_soc_component_read(component, base + ARIZONA_AIF_FRAME_CTRL_1);