linux-stable/sound/soc/tegra
Sameer Pujar e765886249
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: 202e2f7745 ("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>
2023-09-11 01:23:51 +01:00
..
Kconfig ASoC: tegra: Support MAX9808x by machine driver 2023-03-20 13:06:41 +00:00
Makefile
tegra20_ac97.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra20_ac97.h
tegra20_das.c
tegra20_i2s.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra20_i2s.h
tegra20_spdif.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra20_spdif.h
tegra30_ahub.c ASoC: tegra: tegra30_ahub: Convert to platform remove callback returning void 2023-03-20 13:09:24 +00:00
tegra30_ahub.h
tegra30_i2s.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra30_i2s.h
tegra186_asrc.c ASoC: tegra: Use normal system sleep for ASRC 2023-06-22 18:02:04 +01:00
tegra186_asrc.h
tegra186_dspk.c ASoC: tegra: tegra186_dspk: Convert to platform remove callback returning void 2023-03-20 13:09:12 +00:00
tegra186_dspk.h
tegra210_admaif.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra210_admaif.h
tegra210_adx.c ASoC: tegra: Fix ADX byte map 2023-06-29 11:40:27 +01:00
tegra210_adx.h
tegra210_ahub.c ASoC: tegra: Remove stale comments in AHUB 2023-06-22 18:02:05 +01:00
tegra210_ahub.h
tegra210_amx.c ASoC: tegra: Fix AMX byte map 2023-06-29 11:40:26 +01:00
tegra210_amx.h
tegra210_dmic.c ASoC: tegra: tegra210_dmic: Convert to platform remove callback returning void 2023-03-20 13:09:19 +00:00
tegra210_dmic.h
tegra210_i2s.c ASoC: tegra: tegra210_i2s: Convert to platform remove callback returning void 2023-03-20 13:09:19 +00:00
tegra210_i2s.h
tegra210_mbdrc.c
tegra210_mbdrc.h
tegra210_mixer.c ASoC: tegra: tegra210_mixer: Convert to platform remove callback returning void 2023-03-20 13:09:20 +00:00
tegra210_mixer.h
tegra210_mvc.c ASoC: tegra: tegra210_mvc: Convert to platform remove callback returning void 2023-03-20 13:09:21 +00:00
tegra210_mvc.h
tegra210_ope.c ASoC: tegra: tegra210_ope: Convert to platform remove callback returning void 2023-03-20 13:09:22 +00:00
tegra210_ope.h
tegra210_peq.c
tegra210_peq.h
tegra210_sfc.c ASoC: tegra: Fix SFC conversion for few rates 2023-06-24 01:57:16 +01:00
tegra210_sfc.h ASoC: tegra: Fix SFC conversion for few rates 2023-06-24 01:57:16 +01:00
tegra_asoc_machine.c ASoC: tegra: remove unneeded semicolon 2023-03-22 13:17:39 +00:00
tegra_asoc_machine.h
tegra_audio_graph_card.c ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates 2023-09-11 01:23:51 +01:00
tegra_cif.h
tegra_pcm.c ASoC: tegra: Fix Master Volume Control 2023-06-13 12:10:56 +01:00
tegra_pcm.h
tegra_wm8903.c