ASoC: mpc5200: remove duplicate identical IRQ handler
The TX and RX irq handlers are identical. Merge them Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
68d019553b
commit
a68cc8daeb
@ -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)
|
|||||||
|
|
||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user