From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaime Velasco Juan Subject: [PATCH] radeon/PM Really wait for vblank before reclocking Date: Mon, 15 Feb 2010 15:09:33 +0000 Message-ID: <1266246573-3810-1-git-send-email-jsagarribay@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.sourceforge.net To: airlied@linux.ie Cc: Jaime Velasco Juan , dri-devel@lists.sourceforge.net List-Id: dri-devel@lists.freedesktop.org The old code used a false condition so it always waited until timeout Signed-off-by: Jaime Velasco Juan --- drivers/gpu/drm/radeon/radeon_pm.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index a8e151e..842952f 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c @@ -337,10 +337,12 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev) rdev->pm.req_vblank |= (1 << 1); drm_vblank_get(rdev->ddev, 1); } - if (rdev->pm.active_crtcs) - wait_event_interruptible_timeout( - rdev->irq.vblank_queue, 0, - msecs_to_jiffies(RADEON_WAIT_VBLANK_TIMEOUT)); + if (rdev->pm.active_crtcs) { + long timeout = msecs_to_jiffies(RADEON_WAIT_VBLANK_TIMEOUT); + __wait_event_interruptible_timeout( + rdev->irq.vblank_queue, 1, + timeout); + } if (rdev->pm.req_vblank & (1 << 0)) { rdev->pm.req_vblank &= ~(1 << 0); drm_vblank_put(rdev->ddev, 0); -- 1.6.6.1 ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev --