diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-09-17 14:25:12 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-09-18 00:34:06 -0400 |
commit | b15591f3120309093fc6d3df26b4242187d7b384 (patch) | |
tree | 7700a43418c0552910962b9590cdc46e186d71fb /drivers/gpu/drm | |
parent | 812c369dbf3b5a726b52bbfb8adbc230f3f81bcf (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')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_irq.c | 18 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_state.c | 5 |
2 files changed, 22 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c index 9836c705a952..b79ecc4a7cc4 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 */ |
diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c index aad0c6fafcf4..38537d971a3e 100644 --- a/drivers/gpu/drm/radeon/radeon_state.c +++ b/drivers/gpu/drm/radeon/radeon_state.c | |||
@@ -3034,7 +3034,10 @@ static int radeon_cp_getparam(struct drm_device *dev, void *data, struct drm_fil | |||
3034 | value = GET_SCRATCH(dev_priv, 2); | 3034 | value = GET_SCRATCH(dev_priv, 2); |
3035 | break; | 3035 | break; |
3036 | case RADEON_PARAM_IRQ_NR: | 3036 | case RADEON_PARAM_IRQ_NR: |
3037 | value = drm_dev_to_irq(dev); | 3037 | if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) |
3038 | value = 0; | ||
3039 | else | ||
3040 | value = drm_dev_to_irq(dev); | ||
3038 | break; | 3041 | break; |
3039 | case RADEON_PARAM_GART_BASE: | 3042 | case RADEON_PARAM_GART_BASE: |
3040 | value = dev_priv->gart_vm_start; | 3043 | value = dev_priv->gart_vm_start; |