[Intel-gfx] Suspend/resume problems on Broadwell

phoebe at quasiparticle.net phoebe at quasiparticle.net
Thu Feb 26 15:07:41 PST 2015


Hi,

I'm having a few problems with i915 on my Broadwell Thinkpad
(T450s, i7-5600U) with kernel 3.19, apparently suspend/resume related.

During every suspend/resume cycle, I see this in my kernel log after
wakeup:

PM: Entering mem sleep
Suspending console(s) (use no_console_suspend to debug)
(three lines cut)
[drm:stop_ring] *ERROR* render ring : timed out trying to stop ring

I also get a lot of the following at random times, and during glxgears
once for every frame presented. I'm assuming it's for every GL frame,
but I've only confirmed that for glxgears:

[drm:hsw_unclaimed_reg_detect.isra.11 [i915]] *ERROR* Unclaimed
register detected. Please use the i915.mmio_debug=1 to debug this
problem.

With mmio_debug, I get these:

WARNING: CPU: 0 PID: 360 at drivers/gpu/drm/i915/intel_uncore.c:726
hsw_unclaimed_reg_debug+0x7d/0xa0() Unclaimed register detected before
writing to register 0x44404 CPU: 0 PID: 360 Comm: Xorg Tainted:
G        W      3.19.0 #1 Hardware name: LENOVO 20BWS03F00/20BWS03F00,
BIOS JBET39WW (1.04 ) 12/09/2014 0000000000000000 0000000070c52c75
ffff88032d8a3b18 ffffffff819f0e8b 0000000000000007 ffff88032d8a3b70
ffff88032d8a3b58 ffffffff810c7205 0000000000000246 ffff88032cd00000
0000000000044404 0000000000044404 Call Trace:
 [<ffffffff819f0e8b>] dump_stack+0x4c/0x6e
 [<ffffffff810c7205>] warn_slowpath_common+0x85/0xc0
 [<ffffffff810c72c5>] warn_slowpath_fmt+0x55/0x70
 [<ffffffff81524d8d>] hsw_unclaimed_reg_debug+0x7d/0xa0
 [<ffffffff8152ac48>] gen8_write32+0x58/0x1a0
 [<ffffffff8150f55b>] gen8_enable_vblank+0x6b/0xa0
 [<ffffffff814bbd2d>] drm_vblank_enable+0x8d/0x100
 [<ffffffff814bcb4b>] drm_vblank_get+0xab/0xe0
 [<ffffffff814bd442>] drm_wait_vblank+0x92/0x620
 [<ffffffff81500d8c>] ? i915_gem_retire_requests_ring+0x3c/0x180
 [<ffffffff814bb1af>] drm_ioctl+0x1df/0x680
 [<ffffffff8112fb5c>] ? __hrtimer_start_range_ns+0x2fc/0x410
 [<ffffffff81225c88>] do_vfs_ioctl+0x2f8/0x500
 [<ffffffff812302e2>] ? __fget+0x72/0xb0
 [<ffffffff81225f11>] SyS_ioctl+0x81/0xa0
 [<ffffffff819f9312>] system_call_fastpath+0x12/0x17

About every one in three suspend/resume cycles, X graphics are almost
completely broken after resume. Window decorations are still drawn
(mostly, anyway), but window contents are mostly absent. What survived
the cycle is killed off entirely by redraw events. Restarting
everything X doesn't work, virtual terminals work fine.

Also, it seems that running or having run a GL application has some
impact on this. With an instance of glxgears running during
suspend/resume, this doesn't seem to happen. Moreover, running a GL app
seems to fix the problem.

Is this known already, or can I somehow help to fix this?


Greetings,
Phoebe


More information about the Intel-gfx mailing list