diff options
author | Dave Airlie <airlied@linux.ie> | 2005-08-16 12:51:57 +0000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2005-08-16 12:51:57 +0000 |
commit | 7af0186f4ccef285c2158770781ebfc3a26ddd66 (patch) | |
tree | e38ae798b605e3c433ba5d1a6c153baf0e9c15ce /shared-core/r128_cce.c | |
parent | 8c21b783c3e38aa2c2d16e11ec01cf695f8e7f8a (diff) |
add Egberts 32/64 bit patch (its in kernel already...)
Diffstat (limited to 'shared-core/r128_cce.c')
-rw-r--r-- | shared-core/r128_cce.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/shared-core/r128_cce.c b/shared-core/r128_cce.c index 34348cf0..33553670 100644 --- a/shared-core/r128_cce.c +++ b/shared-core/r128_cce.c @@ -323,7 +323,8 @@ static void r128_cce_init_ring_buffer(drm_device_t * dev, ring_start = dev_priv->cce_ring->offset - dev->agp->base; else #endif - ring_start = dev_priv->cce_ring->offset - dev->sg->handle; + ring_start = dev_priv->cce_ring->offset - + (unsigned long)dev->sg->virtual; R128_WRITE(R128_PM4_BUFFER_OFFSET, ring_start | R128_AGP_OFFSET); @@ -484,6 +485,7 @@ static int r128_do_init_cce(drm_device_t * dev, drm_r128_init_t * init) r128_do_cleanup_cce(dev); return DRM_ERR(EINVAL); } + dev->agp_buffer_token = init->buffers_offset; dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); if (!dev->agp_buffer_map) { DRM_ERROR("could not find dma buffer region!\n"); @@ -535,7 +537,7 @@ static int r128_do_init_cce(drm_device_t * dev, drm_r128_init_t * init) dev_priv->cce_buffers_offset = dev->agp->base; else #endif - dev_priv->cce_buffers_offset = dev->sg->handle; + dev_priv->cce_buffers_offset = (unsigned long)dev->sg->virtual; dev_priv->ring.start = (u32 *) dev_priv->cce_ring->handle; dev_priv->ring.end = ((u32 *) dev_priv->cce_ring->handle |