On Sat, 14 Mar 2015 20:58:32 +1100 Mon Dec 10 10:49:46 2012 -0600 Jonathan Gray <[email protected]> wrote: > On Tue, Mar 10, 2015 at 07:14:28AM -0400, dan mclaughlin wrote: > > > > that did do something. before the screen would just freeze with its > > contents. > > now it freezes like that for a second, and then goes blank. i reproduced it > > twice. the first time took about the same amount of time as before, the > > second > > went a bit longer before hanging. it seems there is also enough time before > > it > > freezes to get error messages now. the first time i got the expected > > messages: > > > > Mar 9 17:15:48 node02 /bsd: error: [drm:pid2359:i915_hangcheck_hung] > > *ERROR* Ha > > ngcheck timer elapsed... GPU hung > > Mar 9 17:15:48 node02 /bsd: error: [drm:pid11430:i915_reset] *ERROR* > > Failed to > > reset chip. > > > > the second time though i got this though: > > > > Mar 10 06:37:01 node02 /bsd: error: > > [drm:pid27180:i915_get_vblank_timestamp] *ER > > ROR* Invalid crtc 1 > > Mar 10 06:37:01 node02 /bsd: uvm_fault(0xd5c34634, 0x80038000, 0, 1) -> e > > > > i do get occational vblank_timestamp errors but they have never seemed to > > cause > > any significant problem before (although i don't use graphics too > > intensely). > > The 845g hardware has a single display pipe. I had hoped the problems > people had encountered with it were gone when the 'pipe a force' quirks > were removed for it. > > I'm not entirely sure where to look for the source of getting the pipe > wrong. > > I would be interested to hear if the following diff makes any difference. > From: > > commit 21a245d2d62ef617978316203af032d499805cd2 > Author: Rob Clark <[email protected]> > Date: Mon Dec 10 10:49:46 2012 -0600 > > drm: small fix in drm_send_vblank_event() > > Initialize e->pipe.. some drivers set this themselves, others do not. > Setting it in drm_send_vblank_event() should help ensure more consistent > behavior with the different drivers. > > Index: sys/dev/pci/drm/drm_irq.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/drm/drm_irq.c,v > retrieving revision 1.59 > diff -u -p -r1.59 drm_irq.c > --- sys/dev/pci/drm/drm_irq.c 12 Feb 2015 08:48:32 -0000 1.59 > +++ sys/dev/pci/drm/drm_irq.c 12 Mar 2015 12:50:29 -0000 > @@ -885,6 +885,7 @@ void drm_send_vblank_event(struct drm_de > > now = get_drm_timestamp(); > } > + e->pipe = crtc; > send_vblank_event(dev, e, seq, &now); > } > EXPORT_SYMBOL(drm_send_vblank_event);
no luck. i was using qiv, and when changing a picture, it paused for a second or two (no response) and then resumed, showing some blue lines across the middle for a fraction of a second. everything was fine for a few more seconds, and then i tried to use fullscreen, and it froze after blanking. i got a few errors, but don't know exactly what caused them. Mar 14 07:35:50 node02 /bsd: error: [drm:pid16745:i915_get_vblank_timestamp] *ERROR* Invalid crtc 1 Mar 14 07:35:59 node02 /bsd: error: [drm:pid31156:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung Mar 14 07:35:59 node02 /bsd: error: [drm:pid11046:i915_reset] *ERROR* Failed to reset chip. BTW, this was with the other patch applied as well.
