From: thongsyho <thong.ho.px@xxxxxxxxxxxxxxx> commit f13edb8b281cf7fa762b14323238d6884df38792 upstream. Based on datasheet process Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Thong Ho <thong.ho.px@xxxxxxxxxxxxxxx> Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@xxxxxxxxxxx> --- sound/soc/sh/rcar/dvc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/soc/sh/rcar/dvc.c b/sound/soc/sh/rcar/dvc.c index 58f6909..3d2fbb1 100644 --- a/sound/soc/sh/rcar/dvc.c +++ b/sound/soc/sh/rcar/dvc.c @@ -70,6 +70,12 @@ static void rsnd_dvc_soft_reset(struct rsnd_mod *mod) rsnd_mod_write(mod, DVC_SWRSR, 1); } +static void rsnd_dvc_halt(struct rsnd_mod *mod) +{ + rsnd_mod_write(mod, DVC_DVUIR, 1); + rsnd_mod_write(mod, DVC_SWRSR, 0); +} + #define rsnd_dvc_initialize_lock(mod) __rsnd_dvc_initialize_lock(mod, 1) #define rsnd_dvc_initialize_unlock(mod) __rsnd_dvc_initialize_lock(mod, 0) static void __rsnd_dvc_initialize_lock(struct rsnd_mod *mod, u32 enable) @@ -175,6 +181,8 @@ static int rsnd_dvc_quit(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { + rsnd_dvc_halt(mod); + rsnd_mod_power_off(mod); return 0; -- 1.9.1