From: thongsyho <thong.ho.px@xxxxxxxxxxxxxxx> commit 95e6b0ddb002e0dc89fef99b31685197da2eca9e 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/mix.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/soc/sh/rcar/mix.c b/sound/soc/sh/rcar/mix.c index 953dd0b..cfaca1f 100644 --- a/sound/soc/sh/rcar/mix.c +++ b/sound/soc/sh/rcar/mix.c @@ -31,6 +31,12 @@ static void rsnd_mix_soft_reset(struct rsnd_mod *mod) rsnd_mod_write(mod, MIX_SWRSR, 1); } +static void rsnd_mix_halt(struct rsnd_mod *mod) +{ + rsnd_mod_write(mod, MIX_MIXIR, 1); + rsnd_mod_write(mod, MIX_SWRSR, 0); +} + #define rsnd_mix_initialize_lock(mod) __rsnd_mix_initialize_lock(mod, 1) #define rsnd_mix_initialize_unlock(mod) __rsnd_mix_initialize_lock(mod, 0) static void __rsnd_mix_initialize_lock(struct rsnd_mod *mod, u32 enable) @@ -83,6 +89,8 @@ static int rsnd_mix_quit(struct rsnd_mod *mod, struct rsnd_dai_stream *io, struct rsnd_priv *priv) { + rsnd_mix_halt(mod); + rsnd_mod_power_off(mod); return 0; -- 1.9.1