Bug 57907 - [ivb regression] Force wake wait errors hangs kernel
Summary: [ivb regression] Force wake wait errors hangs kernel
Status: CLOSED NOTOURBUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-05 09:50 UTC by tf5a
Modified: 2017-07-24 22:59 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description tf5a 2012-12-05 09:50:34 UTC
Following up on bug https://bugs.freedesktop.org/show_bug.cgi?id=54521

Symptom:
The system usually gets stuck on boot.
Graphics may show white vertical line bars full screen or random noise pixels on the top 10 lines.

Tricking the system into running by turning off X/openbox on startup and doing a cold boot, waiting, and then starting graphics comes up with following symptoms:

X operations are slow, massive amounts of

Dec  5 09:19:36 i3v kernel: [  338.895030] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.907025] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.915038] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.931014] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.943008] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.955002] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.966996] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.978990] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:19:36 i3v kernel: [  338.990985] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.

Here is an interesting piece of i915 related syslog:

Dec  5 09:14:02 i3v kernel: [    4.273621] [drm] Initialized drm 1.1.0 20060810
Dec  5 09:14:02 i3v kernel: [    4.296721] type=1400 audit(1354695242.122:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=590 comm="apparmor_parser"
Dec  5 09:14:02 i3v kernel: [    4.296750] type=1400 audit(1354695242.122:3): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=590 comm="apparmor_parser"
Dec  5 09:14:02 i3v kernel: [    4.296771] type=1400 audit(1354695242.122:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=590 comm="apparmor_parser"
Dec  5 09:14:02 i3v kernel: [    4.366296] [drm] Memory usable by graphics device = 2048M
Dec  5 09:14:02 i3v kernel: [    4.366300] i915 0000:00:02.0: setting latency timer to 64
Dec  5 09:14:02 i3v kernel: [    4.381115] i915 0000:00:02.0: irq 44 for MSI/MSI-X
Dec  5 09:14:02 i3v kernel: [    4.381121] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
Dec  5 09:14:02 i3v kernel: [    4.381121] [drm] Driver supports precise vblank timestamp query.
Dec  5 09:14:02 i3v NetworkManager[916]:    SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/lo, iface: lo): no ifupdown configuration found.
Dec  5 09:14:02 i3v kernel: [    4.381144] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
Dec  5 09:14:02 i3v kernel: [    4.400150] [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
Dec  5 09:14:02 i3v kernel: [    4.400251] ------------[ cut here ]------------
Dec  5 09:14:02 i3v kernel: [    4.400268] WARNING: at drivers/gpu/drm/i915/intel_pm.c:4163 gen6_gt_check_fifodbg+0x41/0x60 [i915]()
Dec  5 09:14:02 i3v kernel: [    4.400269] Hardware name: Z68MA-D2H-B3
Dec  5 09:14:02 i3v kernel: [    4.400269] MMIO read or write has been dropped 3
Dec  5 09:14:02 i3v kernel: [    4.400270] Modules linked in: snd_hwdep snd_pcm i915(+) kvm snd_seq_midi drm_kms_helper drm stv090x i2c_algo_bit snd_rawmidi snd_seq_midi_event ghash_clmulni_intel aesni_intel ablk_helper cryptd lrw aes_x86_64 xts gf128mul snd_seq mxm_wmi snd_timer snd_seq_device sbs sbshc snd video it87 hwmon_vid ngene(+) dvb_core microcode mei hid_generic mac_hid wmi serio_raw coretemp lpc_ich soundcore snd_page_alloc lp parport usbhid hid r8169
Dec  5 09:14:02 i3v kernel: [    4.400287] Pid: 489, comm: modprobe Not tainted 3.7.0-rc6+ #7
Dec  5 09:14:02 i3v kernel: [    4.400288] Call Trace:
Dec  5 09:14:02 i3v kernel: [    4.400293]  [<ffffffff81056fef>] warn_slowpath_common+0x7f/0xc0
Dec  5 09:14:02 i3v kernel: [    4.400295]  [<ffffffff810570e6>] warn_slowpath_fmt+0x46/0x50
Dec  5 09:14:02 i3v kernel: [    4.400304]  [<ffffffffa02a9d41>] gen6_gt_check_fifodbg+0x41/0x60 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400312]  [<ffffffffa02a9d9d>] __gen6_gt_force_wake_mt_put+0x1d/0x20 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400319]  [<ffffffffa02a9e04>] gen6_gt_force_wake_put+0x44/0x60 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400327]  [<ffffffffa02aeadd>] init_ring_common+0x21d/0x3a0 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400334]  [<ffffffffa02aec95>] init_render_ring+0x35/0x2f0 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400342]  [<ffffffffa02af417>] intel_init_ring_buffer+0x1a7/0x390 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400349]  [<ffffffffa02b0c96>] intel_init_render_ring_buffer+0x1e6/0x2a0 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400358]  [<ffffffffa02768b7>] i915_gem_init_hw+0x57/0x1a0 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400365]  [<ffffffffa0276a8e>] i915_gem_init+0x8e/0x140 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400372]  [<ffffffffa0263476>] i915_driver_load+0xb56/0xde0 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400380]  [<ffffffffa0193d11>] drm_get_pci_dev+0x191/0x2b0 [drm]
Dec  5 09:14:02 i3v kernel: [    4.400391]  [<ffffffffa02b99a6>] i915_pci_probe+0x7a/0x82 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400394]  [<ffffffff8134ba99>] local_pci_probe+0x79/0x100
Dec  5 09:14:02 i3v kernel: [    4.400396]  [<ffffffff8134d199>] pci_device_probe+0x109/0x130
Dec  5 09:14:02 i3v kernel: [    4.400398]  [<ffffffff814149bb>] driver_probe_device+0x7b/0x240
Dec  5 09:14:02 i3v kernel: [    4.400400]  [<ffffffff81414c2b>] __driver_attach+0xab/0xb0
Dec  5 09:14:02 i3v kernel: [    4.400402]  [<ffffffff81414b80>] ? driver_probe_device+0x240/0x240
Dec  5 09:14:02 i3v kernel: [    4.400404]  [<ffffffff81412dd6>] bus_for_each_dev+0x56/0x90
Dec  5 09:14:02 i3v kernel: [    4.400405]  [<ffffffff814144ee>] driver_attach+0x1e/0x20
Dec  5 09:14:02 i3v kernel: [    4.400407]  [<ffffffff81414060>] bus_add_driver+0x190/0x290
Dec  5 09:14:02 i3v kernel: [    4.400409]  [<ffffffff8141518a>] driver_register+0x7a/0x160
Dec  5 09:14:02 i3v kernel: [    4.400410]  [<ffffffff8134c0f9>] __pci_register_driver+0x49/0x50
Dec  5 09:14:02 i3v kernel: [    4.400415]  [<ffffffffa0193f4a>] drm_pci_init+0x11a/0x130 [drm]
Dec  5 09:14:02 i3v kernel: [    4.400417]  [<ffffffffa02f1000>] ? 0xffffffffa02f0fff
Dec  5 09:14:02 i3v kernel: [    4.400424]  [<ffffffffa02f1066>] i915_init+0x66/0x68 [i915]
Dec  5 09:14:02 i3v kernel: [    4.400426]  [<ffffffff8100207f>] do_one_initcall+0x3f/0x170
Dec  5 09:14:02 i3v kernel: [    4.400429]  [<ffffffff810bbc1e>] sys_init_module+0xbe/0x220
Dec  5 09:14:02 i3v kernel: [    4.400432]  [<ffffffff816839d9>] system_call_fastpath+0x16/0x1b
Dec  5 09:14:02 i3v kernel: [    4.400433] ---[ end trace d782ca0d7333685a ]---
Comment 1 tf5a 2012-12-05 09:55:50 UTC
/sys/kernel/debug/dri/0/i915_error_state: no error state collected

I cannot get drm-intel-fixes to boot at all, so I am using drm-intel-testing.

I can resolve the issue:

a) Swapping back from Ivy to Sandy with the same kernel.
b) Using an older kernel with Ivy.
Comment 2 Daniel Vetter 2012-12-05 10:01:15 UTC
Since this seems rather readily reproducible, can you please attempt a bisect? Another thing to try is to update the BIOS on your motherboard - since your upgrading from snb->ivb might be that it's missing some of the latest setup code for ivb. I suspect mt forcewake isn't set up properly, which is required on ivb ...
Comment 3 tf5a 2012-12-06 07:53:17 UTC
Tried the BIOS stuff first, I was running EFI version F10 dated 2012/02/20 (claiming IVB support),the only thing more recent is UEFI U1b dated 2012/07/13.

The good message: Flashing the UEFI solved the problem, the kernel is now running fine. On a first glance I saw some RC6 stuff in the BIOS setupscreen.

The bad message: UEFI still is crap, I am thinking of reverting as e.g. they took away WoL and WoRing.

So does it still make sense to look at older kernels, would you want some extra init code for crappy BIOS'es? Question of concept: As W7 or W8 did not show problems they seem to handle dev init differently not relying on BIOS.

The last time I had drm-intel working with my IVB/HW combo was around Aug/Sept 2012.
Comment 4 Daniel Vetter 2012-12-06 08:00:48 UTC
We've kicked out a bunch of code since production hw should enable the new forcwake mechanism and we need that new way of doing things to implement a few workarounds. The other reason is that the detection code causes warnings, so we'd need to fix a few things first.
Comment 5 Chris Wilson 2013-02-22 14:24:37 UTC
We now rely on IVB's forcewake mechanism, so going back to SNB's is not an option. Please poke your firmware vendor to get their act together (and for Intel to end the BIOS/EFI farce).


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.