fixed intel i830 lut loading code.
Christos Zoulas
christos at zoulas.com
Mon Jan 10 03:03:59 UTC 2011
Hi,
I just spent a few hours debugging and fixing the intel driver code that
caused the machine to hang while loading the lut. Since the only reference
in the net that I could find was freebsd users using the same code, and
getting bitten by the same problem, appended you'll find the fix.
Enjoy, and remember I am not subscribed to the list.
christos
Index: i830_display.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xf86-video-intel/dist/src/i830_display.c,v
retrieving revision 1.1.1.2
retrieving revision 1.3
diff -u -r1.1.1.2 -r1.3
--- i830_display.c 9 Jun 2009 02:54:32 -0000 1.1.1.2
+++ i830_display.c 9 Jan 2011 20:25:46 -0000 1.3
@@ -1170,11 +1170,11 @@
OUTREG(dspbase_reg, INREG(dspbase_reg));
}
- i830_crtc_load_lut(crtc);
-
/* Give the overlay scaler a chance to enable if it's on this pipe */
i830_crtc_dpms_video(crtc, TRUE);
+ i830_crtc_load_lut(crtc);
+
/* Reenable compression if needed */
if (i830_use_fb_compression(crtc))
i830_enable_fb_compression(crtc);
@@ -1936,7 +1936,7 @@
int i;
/* The clocks have to be on to load the palette. */
- if (!crtc->enabled)
+ if (!crtc->enabled || intel_crtc->dpms_mode != DPMSModeOn)
return;
for (i = 0; i < 256; i++) {
More information about the freebsd-x11
mailing list