ASoC: rsnd: add rsnd_dai_stream_quit()

Current Renesas R-Car sound driver calls rsnd_dai_stream_init() when
start, but it didn't call paired function. This patch adds
rsnd_dai_stream_quit() for it. This is prepare for interrupt error
status check feature support.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com>
Tested by: Cao Minh Hiep <cm-hiep@jinso.co.jp>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Kuninori Morimoto 2015-05-21 03:49:54 +00:00 committed by Mark Brown
parent b847357979
commit 5626ad0866

View file

@ -315,7 +315,7 @@ void rsnd_dai_pointer_update(struct rsnd_dai_stream *io, int byte)
} }
} }
static int rsnd_dai_stream_init(struct rsnd_dai_stream *io, static void rsnd_dai_stream_init(struct rsnd_dai_stream *io,
struct snd_pcm_substream *substream) struct snd_pcm_substream *substream)
{ {
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
@ -327,8 +327,11 @@ static int rsnd_dai_stream_init(struct rsnd_dai_stream *io,
runtime->channels * runtime->channels *
samples_to_bytes(runtime, 1); samples_to_bytes(runtime, 1);
io->next_period_byte = io->byte_per_period; io->next_period_byte = io->byte_per_period;
}
return 0; static void rsnd_dai_stream_quit(struct rsnd_dai_stream *io)
{
io->substream = NULL;
} }
static static
@ -363,9 +366,7 @@ static int rsnd_soc_dai_trigger(struct snd_pcm_substream *substream, int cmd,
switch (cmd) { switch (cmd) {
case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_START:
ret = rsnd_dai_stream_init(io, substream); rsnd_dai_stream_init(io, substream);
if (ret < 0)
goto dai_trigger_end;
ret = rsnd_platform_call(priv, dai, start, ssi_id); ret = rsnd_platform_call(priv, dai, start, ssi_id);
if (ret < 0) if (ret < 0)
@ -391,6 +392,8 @@ static int rsnd_soc_dai_trigger(struct snd_pcm_substream *substream, int cmd,
ret = rsnd_platform_call(priv, dai, stop, ssi_id); ret = rsnd_platform_call(priv, dai, stop, ssi_id);
if (ret < 0) if (ret < 0)
goto dai_trigger_end; goto dai_trigger_end;
rsnd_dai_stream_quit(io);
break; break;
default: default:
ret = -EINVAL; ret = -EINVAL;