Re: [XFree86] All annoying error in I830WaitLpRing() in some details

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 07, 2003 at 09:19:42PM -0400, David Dawes wrote:
> On Tue, Oct 07, 2003 at 05:16:28PM +0300, Alexey E. Suslikov wrote:
> >Tuesday, October 7, 2003, 4:53:45 PM, you wrote:
> >
> >>> bang! this is it: the bug still exist, at least on i830m (like in my
> >>> case). setting "NoAccel" "true" is turning off Xaa functions for first.
> >>> linux people did so. i did too, but with no success :(
> >
> >> I've tried very hard and I'm not seeing the problem any more.
> >> If you are still seeing it maybe you could do a little 
> >> investigation into its cause?
> >
> >> One thing you may want to try is setting
> >pI830->>NeedRingBufferLow = TRUE
> >> This isn't done for the i830 as it didn't seem to be necessary.
> >
> >ok. i will try and report as soon as possible.
>
> That shouldn't make any difference to the noaccel case, since the
> ring buffer isn't allocated then.
> 
> >> Yes, turning XAA off will work around the problem. The LpRing is
> >> only used for that.
> >
> >no. as i described above, this recipe was digged from mailing list
> >and solves the problem for some linux people. but not for me on
> >OpenBSD and this guy on NetBSD.
> 
> A couple of other things I can think of are 1) some subtle difference in
> the implementation of the agpgart support for those two platforms, or
> 2) the fact that the BIOS is executed via the emulator on the BSDs but
> uses vm86 mode on Linux.  Does anyone running FreeBSD see the problem?
> If not, that should rule out 2).  To take the agp support out of the
> picture, disable the HW cursor, and make sure the videoram is set to
> some amount lower than what the BIOS preallocates at boot time (e.g.,
> 4096).  From your noaccel log, the agp interface is only used to allocate
> the HW cursor space (because it needs a physical address).  That means
> just adding 'Option "SWCursor"' to your Device section should be
> sufficient for this test.
>
> It would be very useful to try different OSs (Linux and one or more
> BSDs) on exactly the same machine, and see if the results were the same.
> It really has to be exactly the same machine to eliminate possible
> differences in BIOS and hardware revisions.
> 
> The messages in your log:
> 
> (WW) I810(0): PRB0_CTL (0x000b6007) indicates ring buffer enabled
> (WW) I810(0): PRB0_HEAD (0x00000000) and PRB0_TAIL (0x00092660) indicate ring buffer not flushed
> 
> are results of some sanity checks on the inherited state that the driver
> tries to make.  It doesn't do anything other than report them.  These
> don't seem to show up at initial startup, only after switching VT's back
> and forth.
> 
> There seemed to be some evidence that some BIOSes did stuff that the
> driver didn't expect when switching back to text mode.  I was never able
> to prove or disprove that theory, because I couldn't reproduce these
> lockups that others had reported.  Maybe it depends on the BIOS rev or
> hardware rev.  Maybe it's simply a bug lurking somewhere that doesn't
> affect most platforms.  It's hard to say for sure at this point.

I made some tests on my NetBSD laptop :

Dell Inspiron 2600 laptop (bios A08)
Intel 82830MP Integrated Video (rev. 0x04)
NetBSD 1.6ZC (-current 20031003)
XFree86 4.3.99.13 (-current 20031007)

* NoAccel			... ok
* Accel				... KO
* Accel + SWcursor + 4Mo	... KO
* Accel + NeedRingBufferLow	... KO

For the "NoAccel" case, i successfully switched about 20 times to the
4 text consoles and went back to X without any problem. But still no
luck with acceleration enabled.

-- 
Nicolas Joly

Biological Software and Databanks.
Pasteur Institute, Paris.
_______________________________________________
XFree86 mailing list
XFree86@xxxxxxxxxxx
http://XFree86.Org/mailman/listinfo/xfree86

[Index of Archives]     [X Forum]     [Xorg]     [XFree86 Newbie]     [IETF Announce]     [Security]     [Font Config]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux Kernel]

  Powered by Linux