diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-01-07 18:22:47 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-08 18:32:33 -0500 |
commit | 73a6d3fc104827db574e4bd206a025299fef0bb1 (patch) | |
tree | c5f3b9f63bf1bf10b307dcedaa77024237a267b0 /drivers/gpu/drm/radeon/r600.c | |
parent | 20d6c346f69ec68f3f4956c726d830c978f911a8 (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.c | 6 |
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 | } |