aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2014-06-09 21:21:57 -0400
committerAlex Deucher <alexander.deucher@amd.com>2014-06-09 22:09:12 -0400
commit685d54b330d0f15c4f6c7bdf51e009aab0d6a750 (patch)
treea55c5361e08478c9d395b170faf86a96f7ab2d8c
parent8a309113d50290aef2e0292d3a453425b488d973 (diff)
drm/radeon: Move fb update from radeon_flip_work_func to radeon_crtc_page_flip
Fixes WARN()s from the DRM core since the page flip rework. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=77521 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index a4e725c6b8c8..5ed617056b9c 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -462,9 +462,6 @@ static void radeon_flip_work_func(struct work_struct *__work)
462 /* We borrow the event spin lock for protecting flip_work */ 462 /* We borrow the event spin lock for protecting flip_work */
463 spin_lock_irqsave(&crtc->dev->event_lock, flags); 463 spin_lock_irqsave(&crtc->dev->event_lock, flags);
464 464
465 /* update crtc fb */
466 crtc->primary->fb = fb;
467
468 /* set the proper interrupt */ 465 /* set the proper interrupt */
469 radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id); 466 radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id);
470 467
@@ -539,6 +536,9 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc,
539 } 536 }
540 radeon_crtc->flip_work = work; 537 radeon_crtc->flip_work = work;
541 538
539 /* update crtc fb */
540 crtc->primary->fb = fb;
541
542 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); 542 spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
543 543
544 queue_work(radeon_crtc->flip_queue, &work->flip_work); 544 queue_work(radeon_crtc->flip_queue, &work->flip_work);