Commit 53ab4d80 authored by Russell King's avatar Russell King

[ARM] Fix Acorn VIDC sound driver.

Update the Acorn VIDC sound interrupt handler to return IRQ_HANDLED.
parent 56141cc3
...@@ -324,9 +324,10 @@ static int vidc_audio_prepare_for_input(int dev, int bsize, int bcount) ...@@ -324,9 +324,10 @@ static int vidc_audio_prepare_for_input(int dev, int bsize, int bcount)
return -EINVAL; return -EINVAL;
} }
static void vidc_audio_dma_interrupt(void) static irqreturn_t vidc_audio_dma_interrupt(void)
{ {
DMAbuf_outputintr(vidc_adev, 1); DMAbuf_outputintr(vidc_adev, 1);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -50,7 +50,7 @@ extern unsigned long (*vidc_filler) (unsigned long ibuf, unsigned long iend, ...@@ -50,7 +50,7 @@ extern unsigned long (*vidc_filler) (unsigned long ibuf, unsigned long iend,
* Virtual DMA buffer exhausted * Virtual DMA buffer exhausted
*/ */
extern void (*dma_interrupt) (void); extern irqreturn_t (*dma_interrupt) (void);
/* /*
* Virtual DMA buffer addresses * Virtual DMA buffer addresses
......
...@@ -133,10 +133,6 @@ ENTRY(vidc_clear) ...@@ -133,10 +133,6 @@ ENTRY(vidc_clear)
* ip = corrupted * ip = corrupted
*/ */
%%%%%%%%%%%%%%%%%%%
fixme! This funtion needs to return IRQ_HANDLED
%%%%%%%%%%%%%%%%%%%
ENTRY(vidc_sound_dma_irq) ENTRY(vidc_sound_dma_irq)
stmfd sp!, {r4 - r8, lr} stmfd sp!, {r4 - r8, lr}
ldr r8, =dma_start ldr r8, =dma_start
...@@ -189,6 +185,7 @@ ENTRY(vidc_sound_dma_irq) ...@@ -189,6 +185,7 @@ ENTRY(vidc_sound_dma_irq)
mov r0, #0x10 mov r0, #0x10
strneb r0, [ip, #IOMD_SD0CR] strneb r0, [ip, #IOMD_SD0CR]
ldmfd sp!, {r4 - r8, lr} ldmfd sp!, {r4 - r8, lr}
mov r0, #1 @ IRQ_HANDLED
teq r1, #0 @ If we have no more teq r1, #0 @ If we have no more
movne pc, lr movne pc, lr
teq r3, #0 teq r3, #0
......
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