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");

Reply via email to