Commit 1d8222e8 authored by Grant Likely's avatar Grant Likely Committed by Mark Brown

ASoC/mpc5200: add to_psc_dma_stream() helper

Move the resolving of the psc_dma_stream pointer to a helper function
to reduce duplicate code
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent c4878274
...@@ -133,17 +133,12 @@ static int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd) ...@@ -133,17 +133,12 @@ static int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd)
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data;
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
struct psc_dma_stream *s; struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
u16 imr; u16 imr;
unsigned long flags; unsigned long flags;
int i; int i;
if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE)
s = &psc_dma->capture;
else
s = &psc_dma->playback;
switch (cmd) { switch (cmd) {
case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_START:
dev_dbg(psc_dma->dev, "START: stream=%i fbits=%u ps=%u #p=%u\n", dev_dbg(psc_dma->dev, "START: stream=%i fbits=%u ps=%u #p=%u\n",
......
...@@ -68,6 +68,15 @@ struct psc_dma { ...@@ -68,6 +68,15 @@ struct psc_dma {
} stats; } stats;
}; };
/* Utility for retrieving psc_dma_stream structure from a substream */
inline struct psc_dma_stream *
to_psc_dma_stream(struct snd_pcm_substream *substream, struct psc_dma *psc_dma)
{
if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE)
return &psc_dma->capture;
return &psc_dma->playback;
}
int mpc5200_audio_dma_create(struct of_device *op); int mpc5200_audio_dma_create(struct of_device *op);
int mpc5200_audio_dma_destroy(struct of_device *op); int mpc5200_audio_dma_destroy(struct of_device *op);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment