linux/sound/soc/tegra
Dmitry Osipenko 0bbcecaaab
ASoC: tegra30: i2s: Restore hardware state on runtime PM resume
Tegra30 I2S driver syncs regmap cache only on resume from system suspend,
but hardware is reset across the runtime suspend because RPM of the parent
AHUB driver resets the I2S hardware, hence h/w state is lost after each
RPM resume. The problem isn't visible because hardware happens to be fully
reprogrammed after each RPM resume. Move hardware syncing to RPM resume in
order to restore h/w state properly.

Fixes: ed9ce1ed22 ("ASoC: tegra: ahub: Reset hardware properly")
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20210314154459.15375-4-digetx@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-03-18 13:49:32 +00:00
..
Kconfig ASoC: tegra: SND_SOC_TEGRA_AUDIO_GRAPH_CARD should depend on SND_SOC_TEGRA 2021-02-01 13:19:46 +00:00
Makefile ASoC: tegra: Add audio graph based card driver 2021-01-19 14:09:21 +00:00
tegra20_ac97.c ASoC: tegra20: ac97: Add reset control 2021-03-18 13:49:30 +00: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: remove always-true comparison 2020-07-09 21:56:42 +01:00
tegra20_das.h ASoC: tegra20_das.h: delete duplicated words 2020-07-20 15:34:28 +01:00
tegra20_i2s.c ASoC: tegra20: i2s: Add reset control 2021-03-18 13:49:31 +00:00
tegra20_i2s.h ASoC: tegra20: i2s: Add reset control 2021-03-18 13:49:31 +00:00
tegra20_spdif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra20_spdif.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra30_ahub.c ASoC: tegra: ahub: Reset hardware properly 2021-01-25 17:17:55 +00:00
tegra30_ahub.h ASoC: tegra: ahub: Reset hardware properly 2021-01-25 17:17:55 +00:00
tegra30_i2s.c ASoC: tegra30: i2s: Restore hardware state on runtime PM resume 2021-03-18 13:49:32 +00:00
tegra30_i2s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
tegra186_dspk.c ASoC: tegra: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:49 +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: tegra210_admaif: Fix compile warning with CONFIG_PM=n 2020-08-03 16:17:05 +01:00
tegra210_admaif.h ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
tegra210_ahub.c ASoC: tegra: tegra210_ahub: Fix compile warning with CONFIG_PM=n 2020-08-03 16:17:06 +01:00
tegra210_ahub.h ASoC: tegra: Add Tegra210 based AHUB driver 2020-07-20 15:10:23 +01:00
tegra210_dmic.c ASoC: tegra: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:49 +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: sync parameter naming (rate/sample_bits) 2021-01-21 12:37:49 +00:00
tegra210_i2s.h ASoC: tegra: Add Tegra210 based I2S driver 2020-07-20 15:10:23 +01:00
tegra_alc5632.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_asoc_utils.c ASoC: tegra: Enable audio mclk during tegra_asoc_utils_init() 2020-04-21 16:53:15 +02:00
tegra_asoc_utils.h ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_audio_graph_card.c ASoC: tegra: Add driver remove() callback 2021-02-08 11:39:51 +00:00
tegra_cif.h ASoC: tegra: Add support for CIF programming 2020-07-20 15:10:21 +01:00
tegra_max98090.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_pcm.c ASoC: tegra: Simplify with dma_set_mask_and_coherent() 2021-01-19 14:06:12 +00:00
tegra_pcm.h ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
tegra_rt5640.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_rt5677.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_sgtl5000.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_wm8753.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_wm8903.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
tegra_wm9712.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
trimslice.c ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00