The DRM code in Linux 2.5.73 has a new radeon getparam that is clearly
not 64bit clean. It tries to return a pointer to an lock in an int,
which clearly cannot work. The AMD64 compiler prints a warning for this.

RADEON_PARAM_SAREA_HANDLE does not seem to be used in the code, so I 
just disabled it.

Another issue I noticed is that the padding of the hw_lock is wrong
on P4. It only pads to 64bytes, but the L2 cache size there is 
128 bytes. Use the Linux ____cacheline_aligned macro for that.

-Andi

diff -u linux-2.5-amd64/drivers/char/drm/radeon_state.c-o 
linux-2.5-amd64/drivers/char/drm/radeon_state.c
--- linux-2.5-amd64/drivers/char/drm/radeon_state.c-o   2003-07-01 16:17:09.000000000 
+0200
+++ linux-2.5-amd64/drivers/char/drm/radeon_state.c     2003-07-01 16:18:40.000000000 
+0200
@@ -2195,10 +2195,12 @@
        case RADEON_PARAM_STATUS_HANDLE:
                value = dev_priv->ring_rptr_offset;
                break;
+#if 0 /* broken. not 64bit clean */
        case RADEON_PARAM_SAREA_HANDLE:
                /* The lock is the first dword in the sarea. */
                value = (int)dev->lock.hw_lock; 
                break;  
+#endif
        case RADEON_PARAM_AGP_TEX_HANDLE:
                value = dev_priv->agp_textures_offset;
                break;
diff -u linux-2.5-amd64/drivers/char/drm/drmP.h-o 
linux-2.5-amd64/drivers/char/drm/drmP.h
--- linux-2.5-amd64/drivers/char/drm/drmP.h-o   2003-05-24 21:57:47.000000000 +0200
+++ linux-2.5-amd64/drivers/char/drm/drmP.h     2003-07-01 16:19:08.000000000 +0200
@@ -377,8 +377,7 @@
 
 typedef struct drm_hw_lock {
        __volatile__ unsigned int lock;
-       char                      padding[60]; /* Pad to cache line */
-} drm_hw_lock_t;
+} drm_hw_lock_t ____cacheline_aligned;
 
 typedef struct drm_file {
        int               authenticated;


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to