ASoC: rsnd: modify rsnd_adg_ssi_ws_timing_gen2() parameter
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 3 Mar 2014 07:43:33 +0000 (23:43 -0800)
committerSimon Horman <horms@verge.net.au>
Fri, 5 Dec 2014 00:21:18 +0000 (09:21 +0900)
rsnd_adg_ssi_ws_timing_gen2() returns SSI WS timing,
and it used "mod" as parameter.
but, this "mod" is sometimes not ssi mod.
Get SSI mod from rsnd_dai_stream

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 8467dedc9dae3630a2ede49a43120af3ed54ba19)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
sound/soc/sh/rcar/adg.c

index a05ad81..8df00ac 100644 (file)
@@ -32,8 +32,9 @@ struct rsnd_adg {
 #define rsnd_priv_to_adg(priv) ((struct rsnd_adg *)(priv)->adg)
 
 
-static u32 rsnd_adg_ssi_ws_timing_gen2(struct rsnd_mod *mod)
+static u32 rsnd_adg_ssi_ws_timing_gen2(struct rsnd_dai_stream *io)
 {
+       struct rsnd_mod *mod = rsnd_io_to_mod_ssi(io);
        struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
        int id = rsnd_mod_id(mod);
        int ws = id;
@@ -67,7 +68,7 @@ static int rsnd_adg_set_src_timsel_gen2(struct rsnd_dai *rdai,
        u32 mask, ws;
        u32 in, out;
 
-       ws = rsnd_adg_ssi_ws_timing_gen2(mod);
+       ws = rsnd_adg_ssi_ws_timing_gen2(io);
 
        in  = (is_play) ? timsel : ws;
        out = (is_play) ? ws     : timsel;
@@ -174,7 +175,7 @@ int rsnd_adg_set_convert_timing_gen2(struct rsnd_mod *mod,
                                     struct rsnd_dai *rdai,
                                     struct rsnd_dai_stream *io)
 {
-       u32 val = rsnd_adg_ssi_ws_timing_gen2(mod);
+       u32 val = rsnd_adg_ssi_ws_timing_gen2(io);
 
        return rsnd_adg_set_src_timsel_gen2(rdai, mod, io, val);
 }