Skip to content

Commit

Permalink
ASoC: davinci-pcm: extract period elapsed functions
Browse files Browse the repository at this point in the history
Extract functions that modify the prtd->period member in preparation for
conversion to BATCH mode playback.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Reviewed-by: Steven Faludi <stevenfaludi@nanometrics.ca>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Ben Gardiner authored and Mark Brown committed May 25, 2011
1 parent ef39eb6 commit 10ab3bf
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions sound/soc/davinci/davinci-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,22 @@ struct davinci_runtime_data {
struct edmacc_param ram_params;
};

static void davinci_pcm_period_elapsed(struct snd_pcm_substream *substream)
{
struct davinci_runtime_data *prtd = substream->runtime->private_data;
struct snd_pcm_runtime *runtime = substream->runtime;

prtd->period++;
if (unlikely(prtd->period >= runtime->periods))
prtd->period = 0;
}

static void davinci_pcm_period_reset(struct snd_pcm_substream *substream)
{
struct davinci_runtime_data *prtd = substream->runtime->private_data;

prtd->period = 0;
}
/*
* Not used with ping/pong
*/
Expand Down Expand Up @@ -216,9 +232,7 @@ static void davinci_pcm_enqueue_dma(struct snd_pcm_substream *substream)
edma_set_transfer_params(link, acnt, fifo_level, count,
fifo_level, ABSYNC);

prtd->period++;
if (unlikely(prtd->period >= runtime->periods))
prtd->period = 0;
davinci_pcm_period_elapsed(substream);
}

static void davinci_pcm_dma_irq(unsigned link, u16 ch_status, void *data)
Expand Down Expand Up @@ -591,7 +605,7 @@ static int davinci_pcm_prepare(struct snd_pcm_substream *substream)

return 0;
}
prtd->period = 0;
davinci_pcm_period_reset(substream);
davinci_pcm_enqueue_dma(substream);

/* Copy self-linked parameter RAM entry into master channel */
Expand Down

0 comments on commit 10ab3bf

Please sign in to comment.