diff options
author | Michel Daenzer <michel@daenzer.net> | 2002-07-11 20:31:12 +0000 |
---|---|---|
committer | Michel Daenzer <michel@daenzer.net> | 2002-07-11 20:31:12 +0000 |
commit | fd86ac9561dc77ef23e19d28723b40c72bdf1e97 (patch) | |
tree | 4c1b91512341d46f5a2988ab6266fffa76edf14f /shared/radeon_state.c | |
parent | 2ec9c15d8ce45d95ef395a4fff114109c908a572 (diff) |
Don't read scratch registers directly, obtain the values via the GET_PARAM
ioctl. The DRM reads them from memory addresses the chip writes to on
updates. Fall back to reading the registers directly with an old DRM.
(Tim Smith, cleanups by myself)
Diffstat (limited to 'shared/radeon_state.c')
-rw-r--r-- | shared/radeon_state.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/shared/radeon_state.c b/shared/radeon_state.c index 83fae493..15cd759a 100644 --- a/shared/radeon_state.c +++ b/shared/radeon_state.c @@ -1843,6 +1843,15 @@ int radeon_cp_getparam( DRM_IOCTL_ARGS ) case RADEON_PARAM_AGP_BUFFER_OFFSET: value = dev_priv->agp_buffers_offset; break; + case RADEON_PARAM_LAST_FRAME: + value = DRM_READ32(&dev_priv->scratch[0]); + break; + case RADEON_PARAM_LAST_DISPATCH: + value = DRM_READ32(&dev_priv->scratch[1]); + break; + case RADEON_PARAM_LAST_CLEAR: + value = DRM_READ32(&dev_priv->scratch[2]); + break; default: return DRM_ERR(EINVAL); } |