On Tuesday 16 August 2005 07:16 pm, Dave Airlie wrote: > Hi all. > I've just checked into CVS, a patch from Egbert and Paul that > allows us to change the drm_handle size to 32-bits however I'm not > sure what to do with the BSD people... > > We want to change the handle to unsigned int.... Should we just > ifdef around it for BSD?
Thanks for committing the fix but you missed few things. Additional fix is attached. I am not sure this is right thing to do but it seems to work. Thanks, Jung-uk Kim > Dave.
Index: shared-core/mga_dma.c =================================================================== RCS file: /cvs/dri/drm/shared-core/mga_dma.c,v retrieving revision 1.31 diff -u -r1.31 mga_dma.c --- shared-core/mga_dma.c 16 Aug 2005 12:51:57 -0000 1.31 +++ shared-core/mga_dma.c 17 Aug 2005 17:40:50 -0000 @@ -819,7 +819,9 @@ DRM_ERROR("failed to find primary dma region!\n"); return DRM_ERR(EINVAL); } +#if defined(__linux__) dev->agp_buffer_token = init->buffers_offset; +#endif dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); if (!dev->agp_buffer_map) { DRM_ERROR("failed to find dma buffer region!\n"); Index: shared-core/r128_cce.c =================================================================== RCS file: /cvs/dri/drm/shared-core/r128_cce.c,v retrieving revision 1.26 diff -u -r1.26 r128_cce.c --- shared-core/r128_cce.c 16 Aug 2005 12:51:57 -0000 1.26 +++ shared-core/r128_cce.c 17 Aug 2005 17:40:50 -0000 @@ -323,8 +323,12 @@ ring_start = dev_priv->cce_ring->offset - dev->agp->base; else #endif +#if defined(__linux__) ring_start = dev_priv->cce_ring->offset - (unsigned long)dev->sg->virtual; +#else + ring_start = dev_priv->cce_ring->offset - dev->sg->handle; +#endif R128_WRITE(R128_PM4_BUFFER_OFFSET, ring_start | R128_AGP_OFFSET); @@ -485,7 +489,9 @@ r128_do_cleanup_cce(dev); return DRM_ERR(EINVAL); } +#if defined(__linux__) dev->agp_buffer_token = init->buffers_offset; +#endif 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"); @@ -537,7 +543,11 @@ dev_priv->cce_buffers_offset = dev->agp->base; else #endif +#if defined(__linux__) dev_priv->cce_buffers_offset = (unsigned long)dev->sg->virtual; +#else + dev_priv->cce_buffers_offset = dev->sg->handle; +#endif dev_priv->ring.start = (u32 *) dev_priv->cce_ring->handle; dev_priv->ring.end = ((u32 *) dev_priv->cce_ring->handle Index: shared-core/radeon_cp.c =================================================================== RCS file: /cvs/dri/drm/shared-core/radeon_cp.c,v retrieving revision 1.62 diff -u -r1.62 radeon_cp.c --- shared-core/radeon_cp.c 16 Aug 2005 12:51:57 -0000 1.62 +++ shared-core/radeon_cp.c 17 Aug 2005 17:40:51 -0000 @@ -1423,7 +1423,9 @@ radeon_do_cleanup_cp(dev); return DRM_ERR(EINVAL); } +#if defined(__linux__) dev->agp_buffer_token = init->buffers_offset; +#endif 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");