ASoC: rsnd: fixup SCU_SYS_STATUSx access
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 26 Oct 2016 04:28:42 +0000 (04:28 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 26 Oct 2016 16:46:17 +0000 (17:46 +0100)
SCU_SYS_STATUSx is the register that writing 1 initializes the bit,
and writing 0 is ignored. So, it should use rsnd_mod_write()
instead of rsnd_mod_bset(), otherwise all bit will be cleared.
Thanks Shimoda-san

Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/src.c

index e13d6d439b324134bffd85127469262192a320ef..aa24258b9b142bdd9cbfea908c1e24b2a3a42f76 100644 (file)
@@ -327,8 +327,8 @@ static void rsnd_src_status_clear(struct rsnd_mod *mod)
 {
        u32 val = OUF_SRC(rsnd_mod_id(mod));
 
-       rsnd_mod_bset(mod, SCU_SYS_STATUS0, val, val);
-       rsnd_mod_bset(mod, SCU_SYS_STATUS1, val, val);
+       rsnd_mod_write(mod, SCU_SYS_STATUS0, val);
+       rsnd_mod_write(mod, SCU_SYS_STATUS1, val);
 }
 
 static bool rsnd_src_error_occurred(struct rsnd_mod *mod)