diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2014-03-03 20:50:00 -0800 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-03-05 14:07:52 +0800 |
commit | 389933d9f6e55a1ef3a71549c36f6283b9f8c145 (patch) | |
tree | 3e18c692e135d01620e6f225bdf36d9e2169de04 /sound/soc/sh/rcar/ssi.c | |
parent | 78f13d0c5a2888564b2bed7f8433c8ec889997ff (diff) | |
download | linux-389933d9f6e55a1ef3a71549c36f6283b9f8c145.tar.gz linux-389933d9f6e55a1ef3a71549c36f6283b9f8c145.tar.bz2 linux-389933d9f6e55a1ef3a71549c36f6283b9f8c145.zip |
ASoC: rsnd: Get correct SCU ID
Current rsnd driver is assuming that SCU/SRU ID is
same as SSIU/SSI ID, because Gen1 can't select it.
But, Gen2 can select it.
The SCU/SRU/SSIU/SSI pair depends on the platform.
This patch get correct SCU ID from platform info.
To keep compatible, it still assuming SCU ID = SSI ID
if platform doesn't have info
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/sh/rcar/ssi.c')
-rw-r--r-- | sound/soc/sh/rcar/ssi.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 34234813f742..9162c2bb6cc5 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -567,9 +567,16 @@ int rsnd_ssi_probe(struct platform_device *pdev, * SSI DMA case */ if (pinfo->dma_id > 0) { + int is_play; + + if (info->dai_info) + is_play = rsnd_info_is_playback(priv, ssi); + else + is_play = rsnd_ssi_is_play(&ssi->mod); + ret = rsnd_dma_init( priv, rsnd_mod_to_dma(&ssi->mod), - rsnd_ssi_is_play(&ssi->mod), + is_play, pinfo->dma_id); if (ret < 0) dev_info(dev, "SSI DMA failed. try PIO transter\n"); |