diff options
author | Christian König <christian.koenig@amd.com> | 2014-05-27 10:49:19 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-06-02 10:25:11 -0400 |
commit | 75f36d861957cb05b7889af24c8cd4a789398304 (patch) | |
tree | ed3cb52c6d30054f3e770def400166cea3cdd424 /drivers/gpu/drm/radeon/radeon_display.c | |
parent | e928c61a85a0f29b312d8b93ec0dde58cbcecaec (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.c | 17 |
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 | ||
478 | pflip_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 | |||
488 | pflip_cleanup: | 471 | pflip_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; |