aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2015-02-20 05:29:41 -0500
committerMark Brown <broonie@kernel.org>2015-03-07 10:04:30 -0500
commite879a9ddf41c47ccc83039e99e04b0d5c56cd0c5 (patch)
tree32af86f9a50a9568bdea4ab309474cde3620d7a6 /sound
parent0d00a52182be985bfae67d407ee81fefe448a0fd (diff)
ASoC: rsnd: enable rsnd_ssi_use_busif() for DMA
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>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/sh/rcar/dma.c2
-rw-r--r--sound/soc/sh/rcar/rsnd.h1
-rw-r--r--sound/soc/sh/rcar/ssi.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c
index b449763ebd43..3f34461da1e0 100644
--- a/sound/soc/sh/rcar/dma.c
+++ b/sound/soc/sh/rcar/dma.c
@@ -427,7 +427,7 @@ rsnd_gen2_dma_addr(struct rsnd_priv *priv,
427 dev_err(dev, "DVC is selected without SRC\n"); 427 dev_err(dev, "DVC is selected without SRC\n");
428 428
429 /* use SSIU or SSI ? */ 429 /* use SSIU or SSI ? */
430 if (is_ssi && (0 == strcmp(rsnd_mod_dma_name(mod), "ssiu"))) 430 if (is_ssi && rsnd_ssi_use_busif(mod))
431 is_ssi++; 431 is_ssi++;
432 432
433 return (is_from) ? 433 return (is_from) ?
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
index 0d36e38ebbcf..68bc3f46d70b 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -514,6 +514,7 @@ int rsnd_ssi_probe(struct platform_device *pdev,
514struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id); 514struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id);
515int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod); 515int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod);
516int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod); 516int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod);
517int rsnd_ssi_use_busif(struct rsnd_mod *mod);
517 518
518/* 519/*
519 * R-Car DVC 520 * R-Car DVC
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index a0d902ad5985..7e48d562dea8 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -84,7 +84,7 @@ struct rsnd_ssi {
84#define rsnd_ssi_mode_flags(p) ((p)->info->flags) 84#define rsnd_ssi_mode_flags(p) ((p)->info->flags)
85#define rsnd_ssi_dai_id(ssi) ((ssi)->info->dai_id) 85#define rsnd_ssi_dai_id(ssi) ((ssi)->info->dai_id)
86 86
87static int rsnd_ssi_use_busif(struct rsnd_mod *mod) 87int rsnd_ssi_use_busif(struct rsnd_mod *mod)
88{ 88{
89 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 89 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
90 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); 90 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);