]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: rsnd: enable rsnd_ssi_use_busif() for DMA
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 20 Feb 2015 10:29:41 +0000 (10:29 +0000)
committerMark Brown <broonie@kernel.org>
Sat, 7 Mar 2015 15:04:30 +0000 (15:04 +0000)
Renesas R-Car sound driver uses SSI, but the DMA interfaces are
SSI/SSIU. This interface is based on SSI/SRC/DVC connection.
And DMA function needs to know which interface is used somehow.
This patch enables rsnd_ssi_use_busif() for DMA.

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

index b449763ebd434817c73d5500f378038c7457b4c0..3f34461da1e0e0cf7a8b4d796b7a65e7a48c70c7 100644 (file)
@@ -427,7 +427,7 @@ rsnd_gen2_dma_addr(struct rsnd_priv *priv,
                dev_err(dev, "DVC is selected without SRC\n");
 
        /* use SSIU or SSI ? */
-       if (is_ssi && (0 == strcmp(rsnd_mod_dma_name(mod), "ssiu")))
+       if (is_ssi && rsnd_ssi_use_busif(mod))
                is_ssi++;
 
        return (is_from) ?
index 0d36e38ebbcfab3229851f7fec7d87638a56b1e6..68bc3f46d70beb25f06eb1bd4e61a93986064d06 100644 (file)
@@ -514,6 +514,7 @@ int rsnd_ssi_probe(struct platform_device *pdev,
 struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id);
 int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod);
 int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod);
+int rsnd_ssi_use_busif(struct rsnd_mod *mod);
 
 /*
  *     R-Car DVC
index a0d902ad5985eacb66fc834b1e79f8bf3dac631a..7e48d562dea87b6e5727376e4fbaa610279862ad 100644 (file)
@@ -84,7 +84,7 @@ struct rsnd_ssi {
 #define rsnd_ssi_mode_flags(p) ((p)->info->flags)
 #define rsnd_ssi_dai_id(ssi) ((ssi)->info->dai_id)
 
-static int rsnd_ssi_use_busif(struct rsnd_mod *mod)
+int rsnd_ssi_use_busif(struct rsnd_mod *mod)
 {
        struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
        struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);