Intel driver fixes for 855GM - Crash switching VTs
Peter Clifton
pcjc2 at cam.ac.uk
Mon Oct 22 14:25:39 PDT 2007
On Mon, 2007-10-22 at 14:12 -0700, Jesse Barnes wrote:
[snip]
> > Crashes specific to the 855 hardware were still seen, and those were
> > avoided by avoiding writes to the PIPE[AB]CONF registers for
> > pipelines with either the DPLL_VCO disabled, or the pipeline in VGA
> > mode.
> >
> > e.g.:
> >
> > - OUTREG(PIPEACONF, pI830->savePIPEACONF);
> > + if ((pI830->saveDPLL_A & DPLL_VCO_ENABLE) &&
> > + (pI830->saveDPLL_A & DPLL_VGA_MODE_DIS))
> > + OUTREG(PIPEACONF, pI830->savePIPEACONF);
> >
> > Without the official docs, it isn't clear whether this is just a
> > contrived test which happens to avoid the PIPE[AB]CONF write on
> > hardware where it causes the crash.
> >
> > Could someone comment on this, and whether a better solution might
> > exist? Can we write the rest of the register if we don't touch the
> > PIPE[AB]CONF_ENABLE bit for example?
>
> According to the docs that should be ok. But one wonders why we're
> restoring a zeroed DPLL state then enabling the pipe. That seems bogus
> in the first place. Maybe somehow the hardware is coming up with that
> configuration?
> > Should we special case the workaround to only prevent the
> > PIPE[AB]CONF register writes on the 855 HW?
>
> Having the write to the enable bit protected by a check against a sane
> DPLL value would be ok, but it would also be nice to know how were
> getting into this situation in the first place...
The crashes I observed were when the mode it was trying to restore had
the pipeline DPLL _enabled_, but set to VGA mode. (Is that a separate
pipeline to PIPEACONF?)
Xorg.0.log attached from the user who helped me test this. (ModeDebug
enabled).
--
Peter Clifton
Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA
Tel: +44 (0)7729 980173 - (No signal in the lab!)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.0.log
Type: text/x-log
Size: 104323 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071022/c1daedd9/attachment.bin>
More information about the xorg
mailing list