vblank_count count jumps backwards and then forwards across system suspend

Keith Packard keithp at keithp.com
Mon Nov 11 16:23:26 PST 2013


I'm getting some weird results when using vblank_count on my Ivybridge
machine across suspend/resume.

With glxgears running, I suspend the machine. At resume, I see
vblank_count temporarily jump back by a fairly large amount (usually
between 10000 and 20000 frames). After a short while, it recovers and
jumps back to something that looks like it's back on track with values
From before the suspend.

I thought at first that the value was just getting set back and left
there, but after working around that kind of bug, I discovered that it
only stayed on the wrong sequence for a short while (looks like about
20ms) and then jumps back to the previous sequence. I hacked up the
vblank code to show where the errors occurred, and here's what I got
(the logged MSC values are bogus, but the sequence of events is
correct):

Vblank goes haywire here:

[ 30348.438] expect msc near 4294871473 got msc 4294860521
[ 30348.441] (II) intel(0): EDID vendor "APP", prod id 40178
[ 30348.442] (II) intel(0): Printing DDC gathered Modelines:
[ 30348.442] (II) intel(0): Modeline "1366x768"x0.0   72.00  1366 1380 1436 1500  768 769 772 800 -hsync -vsync (48.0 kHz eP)

Vblank recovers here:

[ 30348.458] expect msc near 4294849570 got msc 4294860522

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20131111/709caaf7/attachment.pgp>


More information about the dri-devel mailing list