Re: radeon warning on 64-bit platforms

From: David Mosberger
Date: Tue Feb 17 2004 - 19:57:37 EST


>>>>> On Wed, 18 Feb 2004 10:48:49 +1100, Anton Blanchard <anton@xxxxxxxxx> said:

Anton> A small thing, could the comment be constrained to 80
Anton> columns? :)

I don't really see the point of that, given that pretty much all
existing Linux source code is formatted for 100 columns. I don't feel
strongly about it, however, so I changed it.

>>>>> On Tue, 17 Feb 2004 15:53:05 -0800 (PST), Linus Torvalds <torvalds@xxxxxxxx> said:

Linus> How about this alternate edited one that gets indentation
Linus> right and is more explicit about what's going on? Does this
Linus> work for you?

Fine by me.

>>>>> On Wed, 18 Feb 2004 00:44:16 +0100, Michel Dänzer <michel@xxxxxxxxxxx> said:

Michel> looks good to me, except for a detail:

>> + * Michael Dänzer, the ioctl() is only used on embedded
>> platforms, so not

Michel> ^^^^^^^ That's not quite my first name. :)

Sorry about that, fixed below (or so I hope).

--david

===== drivers/char/drm/radeon_state.c 1.23 vs edited =====
--- 1.23/drivers/char/drm/radeon_state.c Tue Feb 3 21:29:26 2004
+++ edited/drivers/char/drm/radeon_state.c Tue Feb 17 16:49:15 2004
@@ -2185,10 +2185,21 @@
case RADEON_PARAM_STATUS_HANDLE:
value = dev_priv->ring_rptr_offset;
break;
+#if BITS_PER_LONG == 32
+ /*
+ * This ioctl() doesn't work on 64-bit platforms because hw_lock is a
+ * pointer which can't fit into an int-sized variable. According to
+ * Michel Dänzer, the ioctl() is only used on embedded platforms, so
+ * not supporting it shouldn't be a problem. If the same functionality
+ * is needed on 64-bit platforms, a new ioctl() would have to be added,
+ * so backwards-compatibility for the embedded platforms can be
+ * maintained. --davidm 4-Feb-2004.
+ */
case RADEON_PARAM_SAREA_HANDLE:
/* The lock is the first dword in the sarea. */
- value = (int)dev->lock.hw_lock;
- break;
+ value = (long)dev->lock.hw_lock;
+ break;
+#endif
case RADEON_PARAM_GART_TEX_HANDLE:
value = dev_priv->gart_textures_offset;
break;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/