Commit a68cc8da authored by Grant Likely's avatar Grant Likely Committed by Mark Brown

ASoC: mpc5200: remove duplicate identical IRQ handler

The TX and RX irq handlers are identical.  Merge them
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 68d01955
...@@ -66,32 +66,7 @@ static void psc_dma_bcom_enqueue_next_buffer(struct psc_dma_stream *s) ...@@ -66,32 +66,7 @@ static void psc_dma_bcom_enqueue_next_buffer(struct psc_dma_stream *s)
} }
/* Bestcomm DMA irq handler */ /* Bestcomm DMA irq handler */
static irqreturn_t psc_dma_bcom_irq_tx(int irq, void *_psc_dma_stream) static irqreturn_t psc_dma_bcom_irq(int irq, void *_psc_dma_stream)
{
struct psc_dma_stream *s = _psc_dma_stream;
spin_lock(&s->psc_dma->lock);
/* For each finished period, dequeue the completed period buffer
* and enqueue a new one in it's place. */
while (bcom_buffer_done(s->bcom_task)) {
bcom_retrieve_buffer(s->bcom_task, NULL, NULL);
s->period_current = (s->period_current+1) % s->runtime->periods;
s->period_count++;
psc_dma_bcom_enqueue_next_buffer(s);
}
spin_unlock(&s->psc_dma->lock);
/* If the stream is active, then also inform the PCM middle layer
* of the period finished event. */
if (s->active)
snd_pcm_period_elapsed(s->stream);
return IRQ_HANDLED;
}
static irqreturn_t psc_dma_bcom_irq_rx(int irq, void *_psc_dma_stream)
{ {
struct psc_dma_stream *s = _psc_dma_stream; struct psc_dma_stream *s = _psc_dma_stream;
...@@ -486,11 +461,9 @@ int mpc5200_audio_dma_create(struct of_device *op) ...@@ -486,11 +461,9 @@ int mpc5200_audio_dma_create(struct of_device *op)
rc = request_irq(psc_dma->irq, &psc_dma_status_irq, IRQF_SHARED, rc = request_irq(psc_dma->irq, &psc_dma_status_irq, IRQF_SHARED,
"psc-dma-status", psc_dma); "psc-dma-status", psc_dma);
rc |= request_irq(psc_dma->capture.irq, rc |= request_irq(psc_dma->capture.irq, &psc_dma_bcom_irq, IRQF_SHARED,
&psc_dma_bcom_irq_rx, IRQF_SHARED,
"psc-dma-capture", &psc_dma->capture); "psc-dma-capture", &psc_dma->capture);
rc |= request_irq(psc_dma->playback.irq, rc |= request_irq(psc_dma->playback.irq, &psc_dma_bcom_irq, IRQF_SHARED,
&psc_dma_bcom_irq_tx, IRQF_SHARED,
"psc-dma-playback", &psc_dma->playback); "psc-dma-playback", &psc_dma->playback);
if (rc) { if (rc) {
ret = -ENODEV; ret = -ENODEV;
......
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