6936915 intermittent 12 second desktop freezes with intel video driver
authorEdward Shu <Edward.Shu@Sun.COM>
Fri, 26 Mar 2010 09:22:57 +0800
changeset 11999 0f7f7e594e5a
parent 11998 7bc878572f52
child 12000 19ca97e58197
6936915 intermittent 12 second desktop freezes with intel video driver Contributed by [email protected]
usr/src/uts/common/io/drm/drmP.h
--- a/usr/src/uts/common/io/drm/drmP.h	Thu Mar 25 18:12:00 2010 -0700
+++ b/usr/src/uts/common/io/drm/drmP.h	Fri Mar 26 09:22:57 2010 +0800
@@ -34,7 +34,7 @@
  */
 
 /*
- * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -192,17 +192,17 @@
 	ddi_copyout((arg2), arg1, arg3, 0)
 
 #define	DRM_READ8(map, offset) \
-	*(uint8_t *)((uintptr_t)((map)->dev_addr) + (offset))
+	*(volatile uint8_t *)((uintptr_t)((map)->dev_addr) + (offset))
 #define	DRM_READ16(map, offset) \
-	*(uint16_t *)((uintptr_t)((map)->dev_addr) + (offset))
+	*(volatile uint16_t *)((uintptr_t)((map)->dev_addr) + (offset))
 #define	DRM_READ32(map, offset) \
-	*(uint32_t *)((uintptr_t)((map)->dev_addr) + (offset))
+	*(volatile uint32_t *)((uintptr_t)((map)->dev_addr) + (offset))
 #define	DRM_WRITE8(map, offset, val) \
-	*(uint8_t *)((uintptr_t)((map)->dev_addr) + (offset)) = (val)
+	*(volatile uint8_t *)((uintptr_t)((map)->dev_addr) + (offset)) = (val)
 #define	DRM_WRITE16(map, offset, val) \
-	*(uint16_t *)((uintptr_t)((map)->dev_addr) + (offset)) = (val)
+	*(volatile uint16_t *)((uintptr_t)((map)->dev_addr) + (offset)) = (val)
 #define	DRM_WRITE32(map, offset, val) \
-	*(uint32_t *)((uintptr_t)((map)->dev_addr) + (offset)) = (val)
+	*(volatile uint32_t *)((uintptr_t)((map)->dev_addr) + (offset)) = (val)
 
 typedef struct drm_wait_queue {
 	kcondvar_t	cv;