Răsfoiți Sursa

ASoC: rsnd: mix: add rsnd_mix_halt()

Based on datasheet process

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto 9 ani în urmă
părinte
comite
95e6b0ddb0
1 a modificat fișierele cu 8 adăugiri și 0 ștergeri
  1. 8 0
      sound/soc/sh/rcar/mix.c

+ 8 - 0
sound/soc/sh/rcar/mix.c

@@ -30,6 +30,12 @@ static void rsnd_mix_activation(struct rsnd_mod *mod)
 	rsnd_mod_write(mod, MIX_SWRSR, 1);
 	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);
+}
+
 static void rsnd_mix_volume_parameter(struct rsnd_dai_stream *io,
 static void rsnd_mix_volume_parameter(struct rsnd_dai_stream *io,
 				      struct rsnd_mod *mod)
 				      struct rsnd_mod *mod)
 {
 {
@@ -96,6 +102,8 @@ static int rsnd_mix_quit(struct rsnd_mod *mod,
 			 struct rsnd_dai_stream *io,
 			 struct rsnd_dai_stream *io,
 			 struct rsnd_priv *priv)
 			 struct rsnd_priv *priv)
 {
 {
+	rsnd_mix_halt(mod);
+
 	rsnd_mod_power_off(mod);
 	rsnd_mod_power_off(mod);
 
 
 	return 0;
 	return 0;