From 53ab4d80a6b0e97b66f010d5094bf80eabefc30f Mon Sep 17 00:00:00 2001 From: Russell King Date: Fri, 20 Feb 2004 22:58:35 +0000 Subject: [PATCH] [ARM] Fix Acorn VIDC sound driver. Update the Acorn VIDC sound interrupt handler to return IRQ_HANDLED. --- sound/oss/vidc.c | 3 ++- sound/oss/vidc.h | 2 +- sound/oss/vidc_fill.S | 5 +---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sound/oss/vidc.c b/sound/oss/vidc.c index cddbb0638c179..86ad13c7a54fb 100644 --- a/sound/oss/vidc.c +++ b/sound/oss/vidc.c @@ -324,9 +324,10 @@ static int vidc_audio_prepare_for_input(int dev, int bsize, int bcount) return -EINVAL; } -static void vidc_audio_dma_interrupt(void) +static irqreturn_t vidc_audio_dma_interrupt(void) { DMAbuf_outputintr(vidc_adev, 1); + return IRQ_HANDLED; } /* diff --git a/sound/oss/vidc.h b/sound/oss/vidc.h index 4fbcebf1458ee..bab7044572d38 100644 --- a/sound/oss/vidc.h +++ b/sound/oss/vidc.h @@ -50,7 +50,7 @@ extern unsigned long (*vidc_filler) (unsigned long ibuf, unsigned long iend, * Virtual DMA buffer exhausted */ -extern void (*dma_interrupt) (void); +extern irqreturn_t (*dma_interrupt) (void); /* * Virtual DMA buffer addresses diff --git a/sound/oss/vidc_fill.S b/sound/oss/vidc_fill.S index e8030cf0e3c8d..01ccc074cc11c 100644 --- a/sound/oss/vidc_fill.S +++ b/sound/oss/vidc_fill.S @@ -133,10 +133,6 @@ ENTRY(vidc_clear) * ip = corrupted */ -%%%%%%%%%%%%%%%%%%% -fixme! This funtion needs to return IRQ_HANDLED -%%%%%%%%%%%%%%%%%%% - ENTRY(vidc_sound_dma_irq) stmfd sp!, {r4 - r8, lr} ldr r8, =dma_start @@ -189,6 +185,7 @@ ENTRY(vidc_sound_dma_irq) mov r0, #0x10 strneb r0, [ip, #IOMD_SD0CR] ldmfd sp!, {r4 - r8, lr} + mov r0, #1 @ IRQ_HANDLED teq r1, #0 @ If we have no more movne pc, lr teq r3, #0 -- 2.53.0