ASoC: rsnd: setup SRC_ROUTE_MODE0 before SRC_SRCIR
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 18 Feb 2016 08:13:45 +0000 (08:13 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 19 Feb 2016 15:53:02 +0000 (00:53 +0900)
SRC_ROUTE_MODE0 determines whether to use SRC.
Thus, it should be setup before SRC_SRCIR.

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 ab5f1315505504ad2c407a4904d1833e00838992..dab0954196b7f1734e94a9da6de02e4cb99b59b3 100644 (file)
@@ -249,6 +249,8 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io,
                break;
        }
 
+       rsnd_mod_write(mod, SRC_ROUTE_MODE0, route);
+
        rsnd_mod_write(mod, SRC_SRCIR, 1);      /* initialize */
        rsnd_mod_write(mod, SRC_ADINR, adinr);
        rsnd_mod_write(mod, SRC_IFSCR, ifscr);
@@ -258,7 +260,6 @@ static void rsnd_src_set_convert_rate(struct rsnd_dai_stream *io,
        rsnd_mod_write(mod, SRC_BSISR, bsisr);
        rsnd_mod_write(mod, SRC_SRCIR, 0);      /* cancel initialize */
 
-       rsnd_mod_write(mod, SRC_ROUTE_MODE0, route);
        rsnd_mod_write(mod, SRC_I_BUSIF_MODE, 1);
        rsnd_mod_write(mod, SRC_O_BUSIF_MODE, 1);
        rsnd_mod_write(mod, SRC_BUSIF_DALIGN, rsnd_get_dalign(mod, io));