summaryrefslogtreecommitdiff
path: root/shared-core
diff options
context:
space:
mode:
Diffstat (limited to 'shared-core')
-rw-r--r--shared-core/mga_irq.c4
-rw-r--r--shared-core/r128_irq.c4
-rw-r--r--shared-core/radeon_irq.c5
3 files changed, 9 insertions, 4 deletions
diff --git a/shared-core/mga_irq.c b/shared-core/mga_irq.c
index a2a4db53..c53a4bc2 100644
--- a/shared-core/mga_irq.c
+++ b/shared-core/mga_irq.c
@@ -36,7 +36,7 @@
#include "mga_drm.h"
#include "mga_drv.h"
-void mga_dma_service( DRM_IRQ_ARGS )
+DRM_IRQ_RET mga_dma_service( DRM_IRQ_ARGS )
{
drm_device_t *dev = (drm_device_t *) arg;
drm_mga_private_t *dev_priv =
@@ -51,7 +51,9 @@ void mga_dma_service( DRM_IRQ_ARGS )
atomic_inc(&dev->vbl_received);
DRM_WAKEUP(&dev->vbl_queue);
DRM(vbl_send_signals)( dev );
+ return DRM_IRQ_HANDLED;
}
+ return DRM_IRQ_NONE;
}
int mga_vblank_wait(drm_device_t *dev, unsigned int *sequence)
diff --git a/shared-core/r128_irq.c b/shared-core/r128_irq.c
index f3f84d8c..5fe5b46b 100644
--- a/shared-core/r128_irq.c
+++ b/shared-core/r128_irq.c
@@ -36,7 +36,7 @@
#include "r128_drm.h"
#include "r128_drv.h"
-void r128_dma_service( DRM_IRQ_ARGS )
+DRM_IRQ_RET r128_dma_service( DRM_IRQ_ARGS )
{
drm_device_t *dev = (drm_device_t *) arg;
drm_r128_private_t *dev_priv =
@@ -51,7 +51,9 @@ void r128_dma_service( DRM_IRQ_ARGS )
atomic_inc(&dev->vbl_received);
DRM_WAKEUP(&dev->vbl_queue);
DRM(vbl_send_signals)( dev );
+ return DRM_IRQ_HANDLED;
}
+ return DRM_IRQ_NONE;
}
int DRM(vblank_wait)(drm_device_t *dev, unsigned int *sequence)
diff --git a/shared-core/radeon_irq.c b/shared-core/radeon_irq.c
index c6bd90e5..a42c7cf5 100644
--- a/shared-core/radeon_irq.c
+++ b/shared-core/radeon_irq.c
@@ -54,7 +54,7 @@
* tied to dma at all, this is just a hangover from dri prehistory.
*/
-void DRM(dma_service)( DRM_IRQ_ARGS )
+DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_ARGS )
{
drm_device_t *dev = (drm_device_t *) arg;
drm_radeon_private_t *dev_priv =
@@ -67,7 +67,7 @@ void DRM(dma_service)( DRM_IRQ_ARGS )
stat = RADEON_READ(RADEON_GEN_INT_STATUS)
& (RADEON_SW_INT_TEST | RADEON_CRTC_VBLANK_STAT);
if (!stat)
- return;
+ return DRM_IRQ_NONE;
/* SW interrupt */
if (stat & RADEON_SW_INT_TEST) {
@@ -83,6 +83,7 @@ void DRM(dma_service)( DRM_IRQ_ARGS )
/* Acknowledge interrupts we handle */
RADEON_WRITE(RADEON_GEN_INT_STATUS, stat);
+ return DRM_IRQ_HANDLED;
}
static __inline__ void radeon_acknowledge_irqs(drm_radeon_private_t *dev_priv)