aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r600.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-04-22 12:39:58 -0400
committerDave Airlie <airlied@redhat.com>2010-05-18 04:20:47 -0400
commitdef9ba9cf6a8266ee1ffd72556db002c3a2663db (patch)
tree4fff0f90b886dcfd96f11853cf4c605b2d3b759f /drivers/gpu/drm/radeon/r600.c
parent1d42bbc8f7f9ce4d852692ef7aa336b133b0830a (diff)
drm/radeon/kms: add gui_idle callback
Check to see if the GUI engine and related blocks (2D, 3D, CP, etc) are idle or not. There are a number of cases when we need to know if the drawing engine is busy. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
-rw-r--r--drivers/gpu/drm/radeon/r600.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 2ec423c3f3f8..1c85dcb168a1 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -92,6 +92,14 @@ void r600_gpu_init(struct radeon_device *rdev);
92void r600_fini(struct radeon_device *rdev); 92void r600_fini(struct radeon_device *rdev);
93void r600_irq_disable(struct radeon_device *rdev); 93void r600_irq_disable(struct radeon_device *rdev);
94 94
95bool r600_gui_idle(struct radeon_device *rdev)
96{
97 if (RREG32(GRBM_STATUS) & GUI_ACTIVE)
98 return false;
99 else
100 return true;
101}
102
95/* hpd for digital panel detect/disconnect */ 103/* hpd for digital panel detect/disconnect */
96bool r600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) 104bool r600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd)
97{ 105{