From fd86ac9561dc77ef23e19d28723b40c72bdf1e97 Mon Sep 17 00:00:00 2001 From: Michel Daenzer Date: Thu, 11 Jul 2002 20:31:12 +0000 Subject: 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) --- shared-core/radeon_state.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'shared-core/radeon_state.c') diff --git a/shared-core/radeon_state.c b/shared-core/radeon_state.c index 83fae493..15cd759a 100644 --- a/shared-core/radeon_state.c +++ b/shared-core/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); } -- cgit v1.2.3