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 ]---
/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.
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 ...
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.
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.
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.