ASoC: sh: fsi: move fsi_irq_enable function to fsi_dai_trigger
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 17 Dec 2010 03:52:56 +0000 (12:52 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 17 Dec 2010 12:56:59 +0000 (12:56 +0000)
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/sh/fsi.c

index 97c5394aa7d738394899ce7bb75d5b35ed86267d..9ab85936e65d89936d566b2c8a64b9b713e36c8f 100644 (file)
@@ -684,9 +684,6 @@ static int fsi_fifo_data_ctrl(struct fsi_priv *fsi, int startup, int stream)
                fsi_reg_write(fsi, DOFF_ST, 0) :
                fsi_reg_write(fsi, DIFF_ST, 0);
 
-       /* re-enable irq */
-       fsi_irq_enable(fsi, is_play);
-
        if (over_period)
                snd_pcm_period_elapsed(substream);
 
@@ -859,6 +856,7 @@ static int fsi_dai_trigger(struct snd_pcm_substream *substream, int cmd,
                                frames_to_bytes(runtime, runtime->buffer_size),
                                frames_to_bytes(runtime, runtime->period_size));
                ret = is_play ? fsi_data_push(fsi, 1) : fsi_data_pop(fsi, 1);
+               fsi_irq_enable(fsi, is_play);
                break;
        case SNDRV_PCM_TRIGGER_STOP:
                fsi_irq_disable(fsi, is_play);