aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r600.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2010-01-07 18:22:47 -0500
committerDave Airlie <airlied@redhat.com>2010-02-08 18:32:33 -0500
commit73a6d3fc104827db574e4bd206a025299fef0bb1 (patch)
treec5f3b9f63bf1bf10b307dcedaa77024237a267b0 /drivers/gpu/drm/radeon/r600.c
parent20d6c346f69ec68f3f4956c726d830c978f911a8 (diff)
drm/radeon/kms: use wait queue (events) for VBLANK sync
This already simplifies code significally and makes it maintaible in case of adding memory reclocking plus voltage changing in future. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
-rw-r--r--drivers/gpu/drm/radeon/r600.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 65daf55af2d9..05769fa77a21 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -2744,8 +2744,7 @@ restart_ih:
2744 case 0: /* D1 vblank */ 2744 case 0: /* D1 vblank */
2745 if (disp_int & LB_D1_VBLANK_INTERRUPT) { 2745 if (disp_int & LB_D1_VBLANK_INTERRUPT) {
2746 drm_handle_vblank(rdev->ddev, 0); 2746 drm_handle_vblank(rdev->ddev, 0);
2747 if (rdev->pm.vblank_callback) 2747 wake_up(&rdev->irq.vblank_queue);
2748 queue_work(rdev->wq, &rdev->pm.reclock_work);
2749 disp_int &= ~LB_D1_VBLANK_INTERRUPT; 2748 disp_int &= ~LB_D1_VBLANK_INTERRUPT;
2750 DRM_DEBUG("IH: D1 vblank\n"); 2749 DRM_DEBUG("IH: D1 vblank\n");
2751 } 2750 }
@@ -2766,8 +2765,7 @@ restart_ih:
2766 case 0: /* D2 vblank */ 2765 case 0: /* D2 vblank */
2767 if (disp_int & LB_D2_VBLANK_INTERRUPT) { 2766 if (disp_int & LB_D2_VBLANK_INTERRUPT) {
2768 drm_handle_vblank(rdev->ddev, 1); 2767 drm_handle_vblank(rdev->ddev, 1);
2769 if (rdev->pm.vblank_callback) 2768 wake_up(&rdev->irq.vblank_queue);
2770 queue_work(rdev->wq, &rdev->pm.reclock_work);
2771 disp_int &= ~LB_D2_VBLANK_INTERRUPT; 2769 disp_int &= ~LB_D2_VBLANK_INTERRUPT;
2772 DRM_DEBUG("IH: D2 vblank\n"); 2770 DRM_DEBUG("IH: D2 vblank\n");
2773 } 2771 }