diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-01-08 00:22:47 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-09 09:32:33 +1000 |
commit | 73a6d3fc104827db574e4bd206a025299fef0bb1 (patch) | |
tree | c5f3b9f63bf1bf10b307dcedaa77024237a267b0 /drivers/gpu/drm/radeon/rs600.c | |
parent | 20d6c346f69ec68f3f4956c726d830c978f911a8 (diff) | |
download | lwn-73a6d3fc104827db574e4bd206a025299fef0bb1.tar.gz lwn-73a6d3fc104827db574e4bd206a025299fef0bb1.zip |
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/rs600.c')
-rw-r--r-- | drivers/gpu/drm/radeon/rs600.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index a581fdead4dd..979b00034de9 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c @@ -408,13 +408,11 @@ int rs600_irq_process(struct radeon_device *rdev) /* Vertical blank interrupts */ if (G_007EDC_LB_D1_VBLANK_INTERRUPT(r500_disp_int)) { 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 (G_007EDC_LB_D2_VBLANK_INTERRUPT(r500_disp_int)) { 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 (G_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT(r500_disp_int)) { queue_hotplug = true; |