diff options
author | Dave Airlie <airlied@linux.ie> | 2008-05-28 11:27:01 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2008-06-19 11:27:39 +1000 |
commit | fa0d71b967506031f7cb08ced6095d1c4f988594 (patch) | |
tree | cff727e9449a79384062fcc846c446df6793c4fe /drivers/char/drm | |
parent | 9f18409ea3d778a171a9505c0a849d846f352bd0 (diff) | |
download | op-kernel-dev-fa0d71b967506031f7cb08ced6095d1c4f988594.zip op-kernel-dev-fa0d71b967506031f7cb08ced6095d1c4f988594.tar.gz |
drm/rs690: set all of gart base address.
Docs state bits 4-11 maps to bits 32-39 of the 40-bit range
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/char/drm')
-rw-r--r-- | drivers/char/drm/radeon_cp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c index d8ede40..1e434ba 100644 --- a/drivers/char/drm/radeon_cp.c +++ b/drivers/char/drm/radeon_cp.c @@ -659,8 +659,9 @@ static void radeon_set_rs690gart(drm_radeon_private_t *dev_priv, int on) temp = RS690_READ_MCIND(dev_priv, RS690_MC_GART_FEATURE_ID); RS690_WRITE_MCIND(RS690_MC_GART_FEATURE_ID, 0x42040800); - RS690_WRITE_MCIND(RS690_MC_GART_BASE, - dev_priv->gart_info.bus_addr); + temp = dev_priv->gart_info.bus_addr & 0xfffff000; + temp |= (upper_32_bits(dev_priv->gart_info.bus_addr) & 0xff) << 4; + RS690_WRITE_MCIND(RS690_MC_GART_BASE, temp); temp = RS690_READ_MCIND(dev_priv, RS690_MC_AGP_MODE_CONTROL); RS690_WRITE_MCIND(RS690_MC_AGP_MODE_CONTROL, 0x01400000); |