ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates
authorSameer Pujar <spujar@nvidia.com>
Thu, 7 Sep 2023 15:02:25 +0000 (20:32 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 11 Sep 2023 00:23:51 +0000 (01:23 +0100)
commite765886249c533e1bb5cbc3cd741bad677417312
tree4749ae1c8acbcac16daf1f901c8a9ae46dd68f01
parentf101583fa9f8c3f372d4feb61d67da0ccbf4d9a5
ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates

Tegra audio graph card has many DAI links which connects internal
AHUB modules and external audio codecs. Since these are DPCM links,
hw_params() call in the machine driver happens for each connected
BE link and PLLA is updated every time. This is not really needed
for all links as only I/O link DAIs derive respective clocks from
PLLA_OUT0 and thus from PLLA. Hence add checks to limit the clock
updates to DAIs over I/O links.

This found to be fixing a DMIC clock discrepancy which is suspected
to happen because of back to back quick PLLA and PLLA_OUT0 rate
updates. This was observed on Jetson TX2 platform where DMIC clock
ended up with unexpected value.

Fixes: 202e2f774543 ("ASoC: tegra: Add audio graph based card driver")
Cc: stable@vger.kernel.org
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Link: https://lore.kernel.org/r/1694098945-32760-3-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/tegra/tegra_audio_graph_card.c