aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_irq.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-09-17 14:25:12 -0400
committerDave Airlie <airlied@redhat.com>2009-09-18 00:34:06 -0400
commitb15591f3120309093fc6d3df26b4242187d7b384 (patch)
tree7700a43418c0552910962b9590cdc46e186d71fb /drivers/gpu/drm/radeon/radeon_irq.c
parent812c369dbf3b5a726b52bbfb8adbc230f3f81bcf (diff)
drm/radeon/r600: don't do interrupts
Interrupts are not supported yet. This prevents things like mesa from trying to use them. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_irq.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_irq.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c
index 9836c705a95..b79ecc4a7cc 100644
--- a/drivers/gpu/drm/radeon/radeon_irq.c
+++ b/drivers/gpu/drm/radeon/radeon_irq.c
@@ -188,6 +188,9 @@ irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS)
188 u32 stat; 188 u32 stat;
189 u32 r500_disp_int; 189 u32 r500_disp_int;
190 190
191 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
192 return IRQ_NONE;
193
191 /* Only consider the bits we're interested in - others could be used 194 /* Only consider the bits we're interested in - others could be used
192 * outside the DRM 195 * outside the DRM
193 */ 196 */
@@ -286,6 +289,9 @@ int radeon_irq_emit(struct drm_device *dev, void *data, struct drm_file *file_pr
286 drm_radeon_irq_emit_t *emit = data; 289 drm_radeon_irq_emit_t *emit = data;
287 int result; 290 int result;
288 291
292 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
293 return -EINVAL;
294
289 LOCK_TEST_WITH_RETURN(dev, file_priv); 295 LOCK_TEST_WITH_RETURN(dev, file_priv);
290 296
291 if (!dev_priv) { 297 if (!dev_priv) {
@@ -315,6 +321,9 @@ int radeon_irq_wait(struct drm_device *dev, void *data, struct drm_file *file_pr
315 return -EINVAL; 321 return -EINVAL;
316 } 322 }
317 323
324 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
325 return -EINVAL;
326
318 return radeon_wait_irq(dev, irqwait->irq_seq); 327 return radeon_wait_irq(dev, irqwait->irq_seq);
319} 328}
320 329
@@ -326,6 +335,9 @@ void radeon_driver_irq_preinstall(struct drm_device * dev)
326 (drm_radeon_private_t *) dev->dev_private; 335 (drm_radeon_private_t *) dev->dev_private;
327 u32 dummy; 336 u32 dummy;
328 337
338 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
339 return;
340
329 /* Disable *all* interrupts */ 341 /* Disable *all* interrupts */
330 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) 342 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
331 RADEON_WRITE(R500_DxMODE_INT_MASK, 0); 343 RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
@@ -345,6 +357,9 @@ int radeon_driver_irq_postinstall(struct drm_device *dev)
345 357
346 dev->max_vblank_count = 0x001fffff; 358 dev->max_vblank_count = 0x001fffff;
347 359
360 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
361 return 0;
362
348 radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1); 363 radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1);
349 364
350 return 0; 365 return 0;
@@ -357,6 +372,9 @@ void radeon_driver_irq_uninstall(struct drm_device * dev)
357 if (!dev_priv) 372 if (!dev_priv)
358 return; 373 return;
359 374
375 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600)
376 return;
377
360 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) 378 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
361 RADEON_WRITE(R500_DxMODE_INT_MASK, 0); 379 RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
362 /* Disable *all* interrupts */ 380 /* Disable *all* interrupts */