summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon/r100.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2010-01-08 00:22:47 +0100
committerDave Airlie <airlied@redhat.com>2010-02-09 09:32:33 +1000
commit73a6d3fc104827db574e4bd206a025299fef0bb1 (patch)
treec5f3b9f63bf1bf10b307dcedaa77024237a267b0 /drivers/gpu/drm/radeon/r100.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/r100.c')
-rw-r--r--drivers/gpu/drm/radeon/r100.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index 05502bf042b9..346ae3d7e0d4 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -312,13 +312,11 @@ int r100_irq_process(struct radeon_device *rdev)
/* Vertical blank interrupts */
if (status & RADEON_CRTC_VBLANK_STAT) {
drm_handle_vblank(rdev->ddev, 0);
- if (rdev->pm.vblank_callback)
- queue_work(rdev->wq, &rdev->pm.reclock_work);
+ wake_up(&rdev->irq.vblank_queue);
}
if (status & RADEON_CRTC2_VBLANK_STAT) {
drm_handle_vblank(rdev->ddev, 1);
- if (rdev->pm.vblank_callback)
- queue_work(rdev->wq, &rdev->pm.reclock_work);
+ wake_up(&rdev->irq.vblank_queue);
}
if (status & RADEON_FP_DETECT_STAT) {
queue_hotplug = true;