diff options
author | David Miller <davem@davemloft.net> | 2009-02-12 05:15:37 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-03-13 00:24:00 -0400 |
commit | b07fa022ecf1e04fd0623877affe9e10bf45ac86 (patch) | |
tree | 59d17e4b898db739701552030519ca7e0004ab6c /drivers/gpu/drm/radeon/radeon_state.c | |
parent | 296c6ae0e9b5ced1060b43a68b5f7e41a18509f6 (diff) |
drm: radeon: Fix ring_rptr accesses.
The memory behind ring_rptr can either be in ioremapped memory
or a vmalloc() normal kernel memory buffer.
However, the code unconditionally uses DRM_{READ,WRITE}32() (and thus
readl() and writel()) to access it.
Basically, if RADEON_IS_AGP then it's ioremap()'d memory else it's
vmalloc'd memory.
Adjust all of the ring_rptr access code as needed.
While we're here, kill the 'scratch' pointer in drm_radeon_private.
It's only used in the one place where it is initialized.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_state.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_state.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c index ef940a079dc..03fea43dae7 100644 --- a/drivers/gpu/drm/radeon/radeon_state.c +++ b/drivers/gpu/drm/radeon/radeon_state.c | |||
@@ -3010,14 +3010,14 @@ static int radeon_cp_getparam(struct drm_device *dev, void *data, struct drm_fil | |||
3010 | break; | 3010 | break; |
3011 | case RADEON_PARAM_LAST_FRAME: | 3011 | case RADEON_PARAM_LAST_FRAME: |
3012 | dev_priv->stats.last_frame_reads++; | 3012 | dev_priv->stats.last_frame_reads++; |
3013 | value = GET_SCRATCH(0); | 3013 | value = GET_SCRATCH(dev_priv, 0); |
3014 | break; | 3014 | break; |
3015 | case RADEON_PARAM_LAST_DISPATCH: | 3015 | case RADEON_PARAM_LAST_DISPATCH: |
3016 | value = GET_SCRATCH(1); | 3016 | value = GET_SCRATCH(dev_priv, 1); |
3017 | break; | 3017 | break; |
3018 | case RADEON_PARAM_LAST_CLEAR: | 3018 | case RADEON_PARAM_LAST_CLEAR: |
3019 | dev_priv->stats.last_clear_reads++; | 3019 | dev_priv->stats.last_clear_reads++; |
3020 | value = GET_SCRATCH(2); | 3020 | value = GET_SCRATCH(dev_priv, 2); |
3021 | break; | 3021 | break; |
3022 | case RADEON_PARAM_IRQ_NR: | 3022 | case RADEON_PARAM_IRQ_NR: |
3023 | value = drm_dev_to_irq(dev); | 3023 | value = drm_dev_to_irq(dev); |