ASoC: rsnd: care SSIWSR register in rsnd_ssi_hw_start()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 27 Nov 2014 08:05:34 +0000 (08:05 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 3 Dec 2014 18:51:39 +0000 (18:51 +0000)
Current SSI is careing SSIWSR which controls WS continue mode when
DMA mode, but, it should be cared when PIO mode too.
This patch fixup it.

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

index 42d7c7e8226bae23ce71c0acd4faaa6d215b80cf..d67bca9fef2b3fe29bdcba603840884dcf6de19a 100644 (file)
@@ -210,6 +210,10 @@ static void rsnd_ssi_hw_start(struct rsnd_ssi *ssi,
 
        rsnd_mod_write(&ssi->mod, SSICR, cr);
 
+       /* enable WS continue */
+       if (rsnd_dai_is_clk_master(rdai))
+               rsnd_mod_write(&ssi->mod, SSIWSR, CONT);
+
        ssi->usrcnt++;
 
        dev_dbg(dev, "%s[%d] hw started\n",
@@ -506,10 +510,6 @@ static int rsnd_ssi_dma_start(struct rsnd_mod *mod,
 
        rsnd_ssi_hw_start(ssi, ssi->rdai, io);
 
-       /* enable WS continue */
-       if (rsnd_dai_is_clk_master(rdai))
-               rsnd_mod_write(&ssi->mod, SSIWSR, CONT);
-
        return 0;
 }