aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2014-11-27 03:03:39 -0500
committerMark Brown <broonie@kernel.org>2014-12-03 13:51:39 -0500
commit660cdce2fbdcbe48eb143cc394fdb24316232dba (patch)
treea58398bbc82df811b9c3b8dfd9e4c6cdc13c8ac1
parent417f96420a5823485b90ad7ee9fddb67996bbd7f (diff)
ASoC: rsnd: rsnd_src_ssiu_stop() stops SSIU compulsorily
rsnd_src_ssiu_stop() is used to stop SSIU, but it shouldn't depend on whether it is using SSIU. This patch stops SSIU compulsorily. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/sh/rcar/rsnd.h3
-rw-r--r--sound/soc/sh/rcar/src.c6
-rw-r--r--sound/soc/sh/rcar/ssi.c4
3 files changed, 5 insertions, 8 deletions
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
index c74c239f2ce3..1344c3ac2ca6 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -431,8 +431,7 @@ int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod,
431 struct rsnd_dai *rdai, 431 struct rsnd_dai *rdai,
432 int use_busif); 432 int use_busif);
433int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod, 433int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod,
434 struct rsnd_dai *rdai, 434 struct rsnd_dai *rdai);
435 int use_busif);
436int rsnd_src_enable_ssi_irq(struct rsnd_mod *ssi_mod, 435int rsnd_src_enable_ssi_irq(struct rsnd_mod *ssi_mod,
437 struct rsnd_dai *rdai); 436 struct rsnd_dai *rdai);
438 437
diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
index 46795019b2c7..384af90a2f74 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
@@ -175,14 +175,12 @@ int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod,
175} 175}
176 176
177int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod, 177int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod,
178 struct rsnd_dai *rdai, 178 struct rsnd_dai *rdai)
179 int use_busif)
180{ 179{
181 /* 180 /*
182 * DMA settings for SSIU 181 * DMA settings for SSIU
183 */ 182 */
184 if (use_busif) 183 rsnd_mod_write(ssi_mod, SSI_CTRL, 0);
185 rsnd_mod_write(ssi_mod, SSI_CTRL, 0);
186 184
187 return 0; 185 return 0;
188} 186}
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index e03e70b4f843..a200452484c5 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -424,7 +424,7 @@ static int rsnd_ssi_pio_stop(struct rsnd_mod *mod,
424 424
425 rsnd_ssi_hw_stop(ssi, rdai); 425 rsnd_ssi_hw_stop(ssi, rdai);
426 426
427 rsnd_src_ssiu_stop(mod, rdai, 0); 427 rsnd_src_ssiu_stop(mod, rdai);
428 428
429 return 0; 429 return 0;
430} 430}
@@ -528,7 +528,7 @@ static int rsnd_ssi_dma_stop(struct rsnd_mod *mod,
528 528
529 rsnd_dma_stop(dma); 529 rsnd_dma_stop(dma);
530 530
531 rsnd_src_ssiu_stop(mod, rdai, 1); 531 rsnd_src_ssiu_stop(mod, rdai);
532 532
533 return 0; 533 return 0;
534} 534}