reassign 426548 xserver-xorg-video-intel
retitle 426548 BIOS timing issues cause hard freeze with i855 chips
tags 426548 fixed-upstream patch
thanks
I believe this issue had to do with a timing issue, which Keith
Packard fixed as follows:
diff --git a/src/i830_display.c b/src/i830_display.c
index 6965337..ce20864 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -361,8 +361,10 @@ i830FindBestPLL(xf86CrtcPtr crtc, int target, int refclk, intel_clock_t *best_cl
void
i830WaitForVblank(ScrnInfoPtr pScreen)
{
- /* Wait for 20ms, i.e. one cycle at 50hz. */
- usleep(20000);
+ /* Wait for 30ms, i.e. one cycle at slightly less than 50hz.
+ * THIS PATCHED BY KEITH
+ */
+ usleep(30000);
}
void
Also, commit fbbb41bc5e03478cb46ee8f64ef68b23ff3fc14b may be related:
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Jun 17 14:59:24 2007 +0100
Let DPMS functions enable plane/pipe/output on 8xx hardware.
On 855, letting crtc_mode_set enable the plane and pipe will occasionally
hang the chip. Instead, wait for crtc_enable to light things up. For 9xx,
leave things alone.
diff --git a/src/i830_display.c b/src/i830_display.c
index adc7479..6965337 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -958,11 +958,17 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
else
pipeconf &= ~PIPEACONF_DOUBLE_WIDE;
}
-#if 1
- dspcntr |= DISPLAY_PLANE_ENABLE;
- pipeconf |= PIPEACONF_ENABLE;
- dpll |= DPLL_VCO_ENABLE;
-#endif
+ /*
+ * This "shouldn't" be needed as the dpms on code
+ * will be run after the mode is set. On 9xx, it helps.
+ * On 855, it can lock up the chip (and the entire machine)
+ */
+ if (IS_I9XX (pI830))
+ {
+ dspcntr |= DISPLAY_PLANE_ENABLE;
+ pipeconf |= PIPEACONF_ENABLE;
+ dpll |= DPLL_VCO_ENABLE;
+ }
/* Disable the panel fitter if it was on our pipe */
if (i830_panel_fitter_pipe (pI830) == pipe)
--
.''`. martin f. krafft <madduck@debian.org>
: :' : proud Debian developer, author, administrator, and user
`. `'` http://people.debian.org/~madduck - http://debiansystem.info
`- Debian - when you have better things to do than fixing systems
Attachment:
signature.asc
Description: Digital signature (GPG/PGP)