diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-03-02 22:06:51 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-03-15 10:23:22 +1000 |
commit | 839461d3b0e3082eb382f17a3e3899372f28649a (patch) | |
tree | e34106e15420df1ef6c726e35783ae0d562fcb66 /drivers/gpu/drm/radeon/rs600.c | |
parent | 65388342d66a63a29c76058e94a00d7bc0c6423b (diff) | |
download | lwn-839461d3b0e3082eb382f17a3e3899372f28649a.tar.gz lwn-839461d3b0e3082eb382f17a3e3899372f28649a.zip |
drm/radeon/kms: switch to condition waiting for reclocking
We tried to implement interruptible waiting with timeout (it was broken
anyway) which was not a good idea as explained by Andrew. It's possible
to avoid using additional variable but actually it inroduces using more
complex in-kernel tools. So simply add one variable for condition.
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 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index 47f046b78c6b..ac7c27adfb70 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c @@ -392,10 +392,12 @@ 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); + rdev->pm.vblank_sync = true; wake_up(&rdev->irq.vblank_queue); } if (G_007EDC_LB_D2_VBLANK_INTERRUPT(r500_disp_int)) { drm_handle_vblank(rdev->ddev, 1); + rdev->pm.vblank_sync = true; wake_up(&rdev->irq.vblank_queue); } if (G_007EDC_DC_HOT_PLUG_DETECT1_INTERRUPT(r500_disp_int)) { |