ASoC: tegra30: i2s: Restore hardware state on runtime PM resume
authorDmitry Osipenko <digetx@gmail.com>
Sun, 14 Mar 2021 15:44:45 +0000 (18:44 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 18 Mar 2021 13:49:32 +0000 (13:49 +0000)
commit0bbcecaaab15a74ba69f93df46c753f2a64eadca
treeaf818020b65351342068aa1b2158320870ac93ff
parent9c648ef82d7d4696e80b286d37dae07b67a9a32d
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: ed9ce1ed2239 ("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>
sound/soc/tegra/tegra30_i2s.c