diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-04-22 12:39:58 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-18 04:20:47 -0400 |
commit | def9ba9cf6a8266ee1ffd72556db002c3a2663db (patch) | |
tree | 4fff0f90b886dcfd96f11853cf4c605b2d3b759f /drivers/gpu/drm/radeon/r600.c | |
parent | 1d42bbc8f7f9ce4d852692ef7aa336b133b0830a (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.c | 8 |
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); | |||
92 | void r600_fini(struct radeon_device *rdev); | 92 | void r600_fini(struct radeon_device *rdev); |
93 | void r600_irq_disable(struct radeon_device *rdev); | 93 | void r600_irq_disable(struct radeon_device *rdev); |
94 | 94 | ||
95 | bool 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 */ |
96 | bool r600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) | 104 | bool r600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) |
97 | { | 105 | { |