diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2015-02-20 05:29:41 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-03-07 10:04:30 -0500 |
commit | e879a9ddf41c47ccc83039e99e04b0d5c56cd0c5 (patch) | |
tree | 32af86f9a50a9568bdea4ab309474cde3620d7a6 /sound | |
parent | 0d00a52182be985bfae67d407ee81fefe448a0fd (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.c | 2 | ||||
-rw-r--r-- | sound/soc/sh/rcar/rsnd.h | 1 | ||||
-rw-r--r-- | sound/soc/sh/rcar/ssi.c | 2 |
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, | |||
514 | struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id); | 514 | struct rsnd_mod *rsnd_ssi_mod_get(struct rsnd_priv *priv, int id); |
515 | int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod); | 515 | int rsnd_ssi_is_pin_sharing(struct rsnd_mod *mod); |
516 | int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod); | 516 | int rsnd_ssi_is_dma_mode(struct rsnd_mod *mod); |
517 | int 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 | ||
87 | static int rsnd_ssi_use_busif(struct rsnd_mod *mod) | 87 | int 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); |