linux/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 ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra20_ac97.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra20_ac97.h ASoC: tegra20: ac97: Add reset control 2021-03-18 13:49:30 +00:00
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: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra20_i2s.h ASoC: tegra20: i2s: Add reset control 2021-03-18 13:49:31 +00:00
tegra20_spdif.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra20_spdif.h ASoC: tegra20: spdif: Reset hardware 2021-12-17 11:13:57 +00:00
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 ASoC: tegra30: ahub: Switch to use reset-bulk API 2021-03-18 13:49:34 +00:00
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 ASoC: tegra: Add Tegra186 based ASRC driver 2022-04-04 08:39:14 +01:00
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 ASoC: tegra: Add Tegra186 based DSPK driver 2020-07-20 15:10:24 +01:00
tegra210_admaif.c ASoC: tegra: merge DAI call back functions into ops 2023-08-14 13:10:18 +01:00
tegra210_admaif.h ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
tegra210_adx.c ASoC: tegra: Fix ADX byte map 2023-06-29 11:40:27 +01:00
tegra210_adx.h ASoC: tegra: Add Tegra210 based ADX driver 2021-09-20 13:31:35 +01:00
tegra210_ahub.c ASoC: tegra: Remove stale comments in AHUB 2023-06-22 18:02:05 +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-06-29 11:40:26 +01:00
tegra210_amx.h ASoC: tegra: Add Tegra210 based AMX driver 2021-09-20 13:31:34 +01:00
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 ASoC: tegra: Add Tegra210 based DMIC driver 2020-07-20 15:10:22 +01:00
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 ASoC: tegra: Add Tegra210 based I2S driver 2020-07-20 15:10:23 +01:00
tegra210_mbdrc.c ASoC: tegra: Fix spelling mistake "fliter" -> "filter" 2022-11-10 17:52:46 +00:00
tegra210_mbdrc.h ASoC: tegra: Fix spelling mistake "fliter" -> "filter" 2022-11-10 17:52:46 +00:00
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 ASoC: tegra: Add Tegra210 based Mixer driver 2021-09-20 13:31:36 +01:00
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 ASoC: tegra: Add master volume/mute control support 2021-12-01 14:15:39 +00:00
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 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-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 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-09-11 01:23:51 +01:00
tegra_cif.h ASoC: tegra: Add support for CIF programming 2020-07-20 15:10:21 +01:00
tegra_pcm.c ASoC: tegra: Fix Master Volume Control 2023-06-13 12:10:56 +01: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