Coulden't cause DRI/DRM to break on my non-SMP radeon preempt system.
Could this be commited, in one form or another?
cvs diff: Diffing .
Index: drm_os_linux.h
===================================================================
RCS file: /cvs/dri/drm/linux/drm_os_linux.h,v
retrieving revision 1.21
diff -u -r1.21 drm_os_linux.h
--- drm_os_linux.h 27 Aug 2004 09:11:06 -0000 1.21
+++ drm_os_linux.h 29 Aug 2004 21:39:47 -0000
@@ -14,7 +14,17 @@
#define DRM_ERR(d) -(d)
/** Current process ID */
#define DRM_CURRENTPID current->pid
-#define DRM_UDELAY(d) udelay(d)
+extern int panic_timeout;
+#define DRM_UDELAY(d) do { \
+ if (!panic_timeout) { \
+ cond_resched(); \
+ if (d > 100) \
+ msleep(d); \
+ else \
+ udelay(d); \
+ } else \
+ udelay(d); \
+} while (0)
/** Read a byte from a MMIO region */
#define DRM_READ8(map, offset) readb(((unsigned long)(map)->handle) +
(offset))
/** Read a word from a MMIO region */
The msleep will never be trigered, cause 'd' is time( == 1) not
iritations( == i). This should be fixed in the code that uses DRM_UDELAY,
and maby a name change too.
_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel