Commit 01434b4b authored by Matthew Garrett's avatar Matthew Garrett Committed by Dave Airlie
Browse files

radeon: Use fences to gate entry to reclocking on <r600



GUI idle interrupts don't seem to work terribly well on r500 and earlier,
so let's use a fence instead.

Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 91700f3c
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -76,6 +76,14 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev, int static_switch)
			msecs_to_jiffies(RADEON_WAIT_IDLE_TIMEOUT));
		rdev->irq.gui_idle = false;
		radeon_irq_set(rdev);
	} else {
		struct radeon_fence *fence;
		radeon_ring_alloc(rdev, 64);
		radeon_fence_create(rdev, &fence);
		radeon_fence_emit(rdev, fence);
		radeon_ring_commit(rdev);
		radeon_fence_wait(fence, false);
		radeon_fence_unref(&fence);
	}
	radeon_unmap_vram_bos(rdev);