linux-stable/sound/soc/tegra
Sameer Pujar bbdfef7609 ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates
[ Upstream commit e765886249 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-10-10 22:00:34 +02:00
..
Kconfig ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
Makefile ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra20_ac97.c ASoC: tegra20_ac97: Fix missing error code in tegra20_ac97_platform_probe() 2022-07-04 12:44:21 +01:00
tegra20_ac97.h
tegra20_das.c ASoC: tegra: tegra20_das: Drop write-only driver data member 2022-07-05 19:54:00 +01:00
tegra20_i2s.c ASoC: tegra: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:23 +01:00
tegra20_i2s.h
tegra20_spdif.c ASoC: tegra: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:23 +01:00
tegra20_spdif.h ASoC: tegra20: spdif: Reset hardware 2021-12-17 11:13:57 +00:00
tegra30_ahub.c
tegra30_ahub.h
tegra30_i2s.c ASoC: tegra: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:23 +01:00
tegra30_i2s.h
tegra186_asrc.c ASoC: tegra186_asrc: mark runtime-pm functions as __maybe_unused 2022-04-11 19:19:50 +01:00
tegra186_asrc.h ASoC: tegra: Add Tegra186 based ASRC driver 2022-04-04 08:39:14 +01:00
tegra186_dspk.c ASoC: tegra: Fix kcontrol put callback in DSPK 2021-11-18 19:02:33 +00:00
tegra186_dspk.h
tegra210_admaif.c ASoC: tegra: Fix kcontrol put callback in ADMAIF 2021-11-18 19:02:25 +00:00
tegra210_admaif.h
tegra210_adx.c ASoC: tegra: Fix ADX byte map 2023-07-27 08:50:29 +02:00
tegra210_adx.h
tegra210_ahub.c ASoC: tegra: AHUB routes for OPE module 2022-06-06 12:33:08 +01:00
tegra210_ahub.h ASoC: tegra: Update AHUB driver for Tegra234 2022-01-28 13:05:26 +00:00
tegra210_amx.c ASoC: tegra: Fix AMX byte map 2023-07-27 08:50:30 +02:00
tegra210_amx.h
tegra210_dmic.c ASoC: tegra: Fix kcontrol put callback in DMIC 2021-11-18 19:02:31 +00:00
tegra210_dmic.h
tegra210_i2s.c ASoC: tegra: Remove now redundant non_legacy_dai_naming flag 2022-06-27 13:16:52 +01:00
tegra210_i2s.h
tegra210_mbdrc.c ASoC: tegra: Fix MBDRC bypass mode check 2022-06-15 09:24:38 +01:00
tegra210_mbdrc.h ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_mixer.c ASoC: tegra: Use normal system sleep for Mixer 2021-11-26 13:24:05 +00:00
tegra210_mixer.h
tegra210_mvc.c ASoC: tegra: Add master volume/mute control support 2021-12-01 14:15:39 +00:00
tegra210_mvc.h ASoC: tegra: Add master volume/mute control support 2021-12-01 14:15:39 +00:00
tegra210_ope.c ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_ope.h ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_peq.c ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_peq.h ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_sfc.c ASoC: tegra: Fix SFC conversion for few rates 2023-09-19 12:27:56 +02:00
tegra210_sfc.h ASoC: tegra: Fix SFC conversion for few rates 2023-09-19 12:27:56 +02:00
tegra_asoc_machine.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
tegra_asoc_machine.h ASoC: tegra: Restore headphones jack name on Nyan Big 2021-12-13 19:23:33 +00:00
tegra_audio_graph_card.c ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates 2023-10-10 22:00:34 +02:00
tegra_cif.h
tegra_pcm.c ASoC: tegra20: spdif: Use more resource-managed helpers 2021-12-17 11:13:56 +00:00
tegra_pcm.h ASoC: tegra20: spdif: Use more resource-managed helpers 2021-12-17 11:13:56 +00:00
tegra_wm8903.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00