The WARN below started to appeared after we added stricter RPM reference checking asserts. It happens with CRT, LVDS, HDMI, DDI output types. There may be additional platforms/testcases affected than the ones listed, since a preceeding unrelated error message may suppress any further errors (we use WARN_ONCE). Testcases which triggered this WARN or similar one with intel_connector_get_hw_state/intel_ddi_connector_get_hw_state during CI runs: SNB: igt@kms_flip@basic-flip-vs-wf_vblank igt@kms_pipe_crc_basic@read-crc-pipe-a igt@kms_pipe_crc_basic@read-crc-pipe-b igt@kms_setmode@basic-clone-single-crtc igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b IVB: igt@kms_flip@basic-flip-vs-wf_vblank igt@kms_pipe_crc_basic@read-crc-pipe-a igt@pm_rpm@basic-pci-d3-state igt@pm_rpm@basic-rte HSW: igt@kms_flip@basic-flip-vs-modeset igt@kms_flip@basic-flip-vs-wf_vblank BDW: igt@kms_flip@basic-flip-vs-wf_vblank igt@kms_flip@basic-plain-flip igt@kms_pipe_crc_basic@read-crc-pipe-c-frame-sequence igt@pm_rpm@basic-pci-d3-state [ 66.151038] ------------[ cut here ]------------ [ 66.151071] WARNING: CPU: 0 PID: 5743 at drivers/gpu/drm/i915/intel_drv.h:1446 gen6_read32+0x238/0x2b0 [i915]() [ 66.151073] RPM wakelock ref not held during HW access [ 66.151075] Modules linked in: [ 66.151077] x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul i915 crc32_pclmul mei_me mei lpc_ich broadcom bcm_phy_lib tg3 ptp pps_core [ 66.151093] CPU: 0 PID: 5743 Comm: kms_flip Tainted: G U 4.4.0-rc5-gfxbench+ #1 [ 66.151095] Hardware name: Dell Inc. XPS 8300 /0Y2MRG, BIOS A06 10/17/2011 [ 66.151097] ffffffffa0186860 ffff8800c06e3aa0 ffffffff813e000c ffff8800c06e3ae8 [ 66.151102] ffff8800c06e3ad8 ffffffff810746a1 00000000000e1100 ffff88012966f478 [ 66.151106] ffff8800bf2a0000 0000000000000001 ffff8800bf2a0000 ffff8800c06e3b38 [ 66.151111] Call Trace: [ 66.151117] [<ffffffff813e000c>] dump_stack+0x4e/0x82 [ 66.151121] [<ffffffff810746a1>] warn_slowpath_common+0x81/0xc0 [ 66.151124] [<ffffffff81074727>] warn_slowpath_fmt+0x47/0x50 [ 66.151129] [<ffffffff810c5a3d>] ? trace_hardirqs_on+0xd/0x10 [ 66.151148] [<ffffffffa00f6b28>] gen6_read32+0x238/0x2b0 [i915] [ 66.151154] [<ffffffff81796919>] ? mutex_unlock+0x9/0x10 [ 66.151177] [<ffffffffa0134ee5>] intel_crt_get_hw_state+0x55/0x90 [i915] [ 66.151252] [<ffffffffa011bf33>] intel_connector_get_hw_state+0x23/0x30 [i915] [ 66.151273] [<ffffffffa011a63e>] intel_atomic_commit+0xa3e/0x17f0 [i915] [ 66.151280] [<ffffffff8150e142>] ? drm_atomic_check_only+0x142/0x600 [ 66.151287] [<ffffffff8150ed17>] ? drm_atomic_add_affected_connectors+0x87/0xf0 [ 66.151292] [<ffffffff8150e632>] drm_atomic_commit+0x32/0x50 [ 66.151298] [<ffffffff814eb705>] drm_atomic_helper_set_config+0x75/0xb0 [ 66.151303] [<ffffffff814fd640>] drm_mode_set_config_internal+0x60/0x110 [ 66.151308] [<ffffffff815023d6>] drm_mode_setcrtc+0x186/0x4f0 [ 66.151314] [<ffffffff811844f8>] ? __might_fault+0x48/0xa0 [ 66.151320] [<ffffffff814f450d>] drm_ioctl+0x13d/0x590 [ 66.151325] [<ffffffff81502250>] ? drm_mode_setplane+0x1b0/0x1b0 [ 66.151330] [<ffffffff811d53ec>] do_vfs_ioctl+0x2fc/0x550 [ 66.151335] [<ffffffff8118dbca>] ? vm_munmap+0x4a/0x60 [ 66.151340] [<ffffffff811e0e5a>] ? __fget_light+0x6a/0x90 [ 66.151344] [<ffffffff811d567c>] SyS_ioctl+0x3c/0x70 [ 66.151349] [<ffffffff8179a45b>] entry_SYSCALL_64_fastpath+0x16/0x73 [ 66.151354] ---[ end trace e8574724e8332771 ]---
We should just take a reference for intel_atomic_commit() since we know at that point we are committing the changes to hardware.
Though I think it also means we need better annotations at the lower levels that assert that they hold the display power well.
Increasing priority as this cause noise in CI results.
(In reply to Ander Conselvan de Oliveira from comment #3) > Increasing priority as this cause noise in CI results. I missed that the warning was tuned down in commit becd9ca2de656ccd8d02c434742388aead336147 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue Jan 5 17:54:07 2016 +0100 drm/i915: Tune down rpm wakelock debug checks Decreasing priority.
The fix for the root cause is now merged, so closing this ticket. commit 1c8fdda1ea947ae8cf994969a1c285acc7089cb9 Author: Imre Deak <imre.deak@intel.com> Date: Fri Feb 12 18:55:15 2016 +0200 drm/i915/crt: Ensure the HW is powered during HW state readout
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.