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);

Reply via email to