Module Name:    src
Committed By:   snj
Date:           Fri Apr 15 08:02:34 UTC 2016

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-7]: intel_pm.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1156):
        sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.9
Cast uint8_t to uint32_t before shifting left by 24.
Otherwise this is undefined behaviour unless int is 32-bit and the
uint8_t value happens to be <=127.


To generate a diff of this commit:
cvs rdiff -u -r1.4.2.4 -r1.4.2.5 \
    src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c:1.4.2.4 src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c:1.4.2.5
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c:1.4.2.4	Thu Feb 11 22:52:58 2016
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c	Fri Apr 15 08:02:34 2016
@@ -4487,8 +4487,8 @@ static void intel_init_emon(struct drm_d
 	pxw[15] = 0;
 
 	for (i = 0; i < 4; i++) {
-		u32 val = (pxw[i*4] << 24) | (pxw[(i*4)+1] << 16) |
-			(pxw[(i*4)+2] << 8) | (pxw[(i*4)+3]);
+		u32 val = ((u32)pxw[i*4] << 24) | ((u32)pxw[(i*4)+1] << 16) |
+			((u32)pxw[(i*4)+2] << 8) | ((u32)pxw[(i*4)+3]);
 		I915_WRITE(PXW + (i * 4), val);
 	}
 

Reply via email to