aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_display.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-05-27 10:49:19 -0400
committerAlex Deucher <alexander.deucher@amd.com>2014-06-02 10:25:11 -0400
commit75f36d861957cb05b7889af24c8cd4a789398304 (patch)
treeed3cb52c6d30054f3e770def400166cea3cdd424 /drivers/gpu/drm/radeon/radeon_display.c
parente928c61a85a0f29b312d8b93ec0dde58cbcecaec (diff)
drm/radeon: remove drm_vblank_get|put from pflip handling
We activate the VBLANK irq manually anyway, so this is unnecessary. Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_display.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index beccc4a2ceb4..d597d08bdaaa 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -340,7 +340,6 @@ void radeon_crtc_handle_flip(struct radeon_device *rdev, int crtc_id)
340 340
341 spin_unlock_irqrestore(&rdev->ddev->event_lock, flags); 341 spin_unlock_irqrestore(&rdev->ddev->event_lock, flags);
342 342
343 drm_vblank_put(rdev->ddev, radeon_crtc->crtc_id);
344 radeon_fence_unref(&work->fence); 343 radeon_fence_unref(&work->fence);
345 radeon_irq_kms_pflip_irq_get(rdev, work->crtc_id); 344 radeon_irq_kms_pflip_irq_get(rdev, work->crtc_id);
346 schedule_work(&work->work); 345 schedule_work(&work->work);
@@ -464,27 +463,11 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc,
464 /* update crtc fb */ 463 /* update crtc fb */
465 crtc->primary->fb = fb; 464 crtc->primary->fb = fb;
466 465
467 r = drm_vblank_get(dev, radeon_crtc->crtc_id);
468 if (r) {
469 DRM_ERROR("failed to get vblank before flip\n");
470 goto pflip_cleanup1;
471 }
472
473 /* set the proper interrupt */ 466 /* set the proper interrupt */
474 radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id); 467 radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id);
475 468
476 return 0; 469 return 0;
477 470
478pflip_cleanup1:
479 if (unlikely(radeon_bo_reserve(rbo, false) != 0)) {
480 DRM_ERROR("failed to reserve new rbo in error path\n");
481 goto pflip_cleanup;
482 }
483 if (unlikely(radeon_bo_unpin(rbo) != 0)) {
484 DRM_ERROR("failed to unpin new rbo in error path\n");
485 }
486 radeon_bo_unreserve(rbo);
487
488pflip_cleanup: 471pflip_cleanup:
489 spin_lock_irqsave(&dev->event_lock, flags); 472 spin_lock_irqsave(&dev->event_lock, flags);
490 radeon_crtc->unpin_work = NULL; 473 radeon_crtc->unpin_work = NULL;