i915 problems with suspend to disk

Daniel Vetter daniel at ffwll.ch
Thu Oct 4 12:31:39 PDT 2012


On Thu, Oct 04, 2012 at 08:20:17PM +0100, Hugo Mills wrote:
>    Hi,
> 
>    On 3.6, I've got a problem with my video driver after resuming from
> suspend-to-disk: the lower part of the display flickers, rapidly but
> irregularly (think of a neon sign in a bad film noir), flicking
> between the correct display and... something else, it's hard to see
> what.
> 
>    Shutting the lid of the machine (to trigger a suspend-to-ram) and
> waking it up again fixes the flicker.
> 
>    In syslogs, I have nothing obvious on suspend, and this warning on
> resume:
> 
> Oct  4 19:53:04 ruth kernel: [ 2892.184086] ------------[ cut here ]------------
> Oct  4 19:53:04 ruth kernel: [ 2892.184114] WARNING: at drivers/gpu/drm/i915/intel_display.c:1225 intel_crtc_disable+0x52/0x86 [i915]()
> Oct  4 19:53:04 ruth kernel: [ 2892.184115] Hardware name: 0196CTO
> Oct  4 19:53:04 ruth kernel: [ 2892.184117] pipe B assertion failure (expected off, current on)
> Oct  4 19:53:04 ruth kernel: [ 2892.184188] Modules linked in: cpufreq_powersave cpufreq_userspace cpufreq_stats cpufreq_conservative rfcomm bnep binfmt_misc uinput nfsd auth_rpcgss nfs_acl nfs lockd fscache sunrpc ext4 jbd2 mbcache loop arc4 iwldvm mac80211 snd_hda_codec_hdmi snd_hda_codec_conexant coretemp i915 snd_hda_intel snd_hda_codec drm_kms_helper iwlwifi snd_hwdep snd_pcm snd_page_alloc joydev snd_seq snd_seq_device snd_timer kvm_intel drm i2c_algo_bit thinkpad_acpi acpi_cpufreq nvram btusb bluetooth kvm crc16 cfg80211 microcode psmouse evdev i2c_i801 video rfkill wmi mperf i2c_core snd battery ac processor soundcore button btrfs crc32c libcrc32c zlib_deflate sha256_generic ablk_helper cryptd aes_x86_64 aes_generic cbc dm_crypt dm_mod sd_mod crc_t10dif ums_realtek usb_storage uas thermal thermal_sys ahci libahci libata uhci_hcd scsi_mod ehci_hcd r8169 mii usbcore usb_common
> Oct  4 19:53:04 ruth kernel: [ 2892.184198] Pid: 4117, comm: kworker/u:3 Not tainted 3.6.0 #14
> Oct  4 19:53:04 ruth kernel: [ 2892.184199] Call Trace:
> Oct  4 19:53:04 ruth kernel: [ 2892.184207]  [<ffffffff8102bdc5>] ? warn_slowpath_common+0x78/0x8c
> Oct  4 19:53:04 ruth kernel: [ 2892.184213]  [<ffffffff8104afd3>] ? async_schedule+0xc/0xc
> Oct  4 19:53:04 ruth kernel: [ 2892.184216]  [<ffffffff8102be71>] ? warn_slowpath_fmt+0x45/0x4a
> Oct  4 19:53:04 ruth kernel: [ 2892.184221]  [<ffffffff8104afd3>] ? async_schedule+0xc/0xc
> Oct  4 19:53:04 ruth kernel: [ 2892.184238]  [<ffffffffa03fdae0>] ? intel_crtc_disable+0x52/0x86 [i915]
> Oct  4 19:53:04 ruth kernel: [ 2892.184245]  [<ffffffffa0273e47>] ? drm_helper_disable_unused_functions+0xd0/0xfb [drm_kms_helper]
> Oct  4 19:53:04 ruth kernel: [ 2892.184250]  [<ffffffffa027461e>] ? drm_helper_resume_force_mode+0xf1/0xff [drm_kms_helper]
> Oct  4 19:53:04 ruth kernel: [ 2892.184254]  [<ffffffff8104afd3>] ? async_schedule+0xc/0xc
> Oct  4 19:53:04 ruth kernel: [ 2892.184264]  [<ffffffffa03dc17f>] ? i915_drm_thaw+0xd4/0x10b [i915]
> Oct  4 19:53:04 ruth kernel: [ 2892.184274]  [<ffffffffa03dc4fc>] ? i915_resume+0x3b/0x50 [i915]
> Oct  4 19:53:04 ruth kernel: [ 2892.184279]  [<ffffffff81193f21>] ? pci_legacy_resume+0x39/0x39
> Oct  4 19:53:04 ruth kernel: [ 2892.184284]  [<ffffffff812196f7>] ? dpm_run_callback.isra.5+0x26/0x54
> Oct  4 19:53:04 ruth kernel: [ 2892.184289]  [<ffffffff81219fe1>] ? device_resume+0xd0/0x110
> Oct  4 19:53:04 ruth kernel: [ 2892.184292]  [<ffffffff8121a035>] ? async_resume+0x14/0x38
> Oct  4 19:53:04 ruth kernel: [ 2892.184296]  [<ffffffff8104b070>] ? async_run_entry_fn+0x9d/0x175
> Oct  4 19:53:04 ruth kernel: [ 2892.184300]  [<ffffffff81041a1a>] ? process_one_work+0x184/0x2a3
> Oct  4 19:53:04 ruth kernel: [ 2892.184304]  [<ffffffff810426f1>] ? worker_thread+0x1fe/0x29f
> Oct  4 19:53:04 ruth kernel: [ 2892.184307]  [<ffffffff810424f3>] ? manage_workers+0x223/0x223
> Oct  4 19:53:04 ruth kernel: [ 2892.184310]  [<ffffffff810424f3>] ? manage_workers+0x223/0x223
> Oct  4 19:53:04 ruth kernel: [ 2892.184315]  [<ffffffff81045adf>] ? kthread+0x67/0x6f
> Oct  4 19:53:04 ruth kernel: [ 2892.184319]  [<ffffffff812fe774>] ? kernel_thread_helper+0x4/0x10
> Oct  4 19:53:04 ruth kernel: [ 2892.184324]  [<ffffffff81045a78>] ? kthread_freezable_should_stop+0x3c/0x3c
> Oct  4 19:53:04 ruth kernel: [ 2892.184327]  [<ffffffff812fe770>] ? gs_change+0xb/0xb
> Oct  4 19:53:04 ruth kernel: [ 2892.184328] ---[ end trace 4e63ed9ed8ebc493 ]---
> 
>    Hardware is a Lenovo Thinkpad Edge13, lspci says:
> 
> 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
> 
> aka
> 
> 00:02.0 0300: 8086:2a42 (rev 07)
> 
>    Let me know if you need more information. I can probably manage a
> bisect if necessary -- it's easily repeatable as a bug.

Before you do a bisect, can you try the drm-intel-fixes branch from
http://cgit.freedesktop.org/~danvet/drm-intel or a bit more risky, latest
upstream git? That contains a completely rewritten modeset code, which
might fix this already. To fix the breakage on 3.6 I guess we need a
bisect - at least I don't have any idea off-hand what could have gone
wrong here.

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list