ASoC: rsnd: add rsnd_ssi_is_play()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 24 Jan 2014 02:41:17 +0000 (18:41 -0800)
committerMark Brown <broonie@linaro.org>
Mon, 3 Feb 2014 12:41:37 +0000 (12:41 +0000)
SCU needs SSI direction if Gen2.
Add rsnd_ssi_is_play() function for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/sh/rcar/rsnd.h
sound/soc/sh/rcar/ssi.c

index 39914558e85712a195fc784061fa780adef88733..b1874eb714362ae5ca6dcfd1a424e63defe820ef 100644 (file)
@@ -321,5 +321,6 @@ struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id);
 struct rsnd_mod *rsnd_ssi_mod_get_frm_dai(struct rsnd_priv *priv,
                                          int dai_id, int is_play);
 int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod);
+int rsnd_ssi_is_play(struct rsnd_mod *mod);
 
 #endif
index dc72439da58d788e9103ed5a5794d32a7fd976dd..bae309c9f0fbd068cf1bfee66a5bff77ddd4274e 100644 (file)
@@ -494,7 +494,7 @@ struct rsnd_mod *rsnd_ssi_mod_get_frm_dai(struct rsnd_priv *priv,
                if (rsnd_ssi_dai_id(ssi) != dai_id)
                        continue;
 
-               has_play = !!(rsnd_ssi_mode_flags(ssi) & RSND_SSI_PLAY);
+               has_play = rsnd_ssi_is_play(&ssi->mod);
 
                if (is_play == has_play)
                        return &ssi->mod;
@@ -518,6 +518,13 @@ int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod)
        return !!(rsnd_ssi_mode_flags(ssi) & RSND_SSI_CLK_PIN_SHARE);
 }
 
+int rsnd_ssi_is_play(struct rsnd_mod *mod)
+{
+       struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
+
+       return !!(rsnd_ssi_mode_flags(ssi) & RSND_SSI_PLAY);
+}
+
 static void rsnd_ssi_parent_clk_setup(struct rsnd_priv *priv, struct rsnd_ssi *ssi)
 {
        if (!rsnd_ssi_is_pin_sharing(&ssi->mod))
@@ -582,7 +589,7 @@ int rsnd_ssi_probe(struct platform_device *pdev,
                if (pinfo->dma_id > 0) {
                        ret = rsnd_dma_init(
                                priv, rsnd_mod_to_dma(&ssi->mod),
-                               (rsnd_ssi_mode_flags(ssi) & RSND_SSI_PLAY),
+                               rsnd_ssi_is_play(&ssi->mod),
                                pinfo->dma_id,
                                rsnd_ssi_dma_inquiry,
                                rsnd_ssi_dma_complete);