Bug 93441 - [SKL] RPM wakelock ref not held during HW access (check_wm_state->skl_ddb_get_hw_state)
Summary: [SKL] RPM wakelock ref not held during HW access (check_wm_state->skl_ddb_get...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium critical
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-18 15:17 UTC by Imre Deak
Modified: 2017-07-24 22:43 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Imre Deak 2015-12-18 15:17:50 UTC
The WARN below started to appear after adding stricter RPM reference checking asserts. Testcases that triggered this during CI runs; the list may be not exact since we stop reporting errors after the first one (by using WARN_ONCE):

igt@kms_flip@basic-flip-vs-modeset
igt@kms_flip@basic-flip-vs-wf_vblank
igt@kms_pipe_crc_basic@read-crc-pipe-c

[  250.913323] ------------[ cut here ]------------
[  250.913377] WARNING: CPU: 0 PID: 6422 at drivers/gpu/drm/i915/intel_drv.h:1446 gen9_read32+0x336/0x3f0 [i915]()
[  250.913381] RPM wakelock ref not held during HW access
[  250.913385] Modules linked in:
[  250.913389]  i915 ax88179_178a usbnet mii x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul mei_me mei i2c_hid e1000e ptp pps_core [last unloaded: i915]
[  250.913422] CPU: 0 PID: 6422 Comm: kms_flip Tainted: G     U  W       4.4.0-rc5-gfxbench+ #1
[  250.913426] Hardware name: System manufacturer System Product Name/Z170M-PLUS, BIOS 0408 08/28/2015
[  250.913430]  ffffffffa02e68a0 ffff8802479e39c8 ffffffff813e000c ffff8802479e3a10
[  250.913439]  ffff8802479e3a00 ffffffff810746a1 000000000007027c ffff8802479e3b52
[  250.913447]  000000000007027c ffff8801fb640000 0000000000000001 ffff8802479e3a60
[  250.913455] Call Trace:
[  250.913466]  [<ffffffff813e000c>] dump_stack+0x4e/0x82
[  250.913473]  [<ffffffff810746a1>] warn_slowpath_common+0x81/0xc0
[  250.913478]  [<ffffffff81074727>] warn_slowpath_fmt+0x47/0x50
[  250.913487]  [<ffffffff810c5a3d>] ? trace_hardirqs_on+0xd/0x10
[  250.913528]  [<ffffffffa02596b6>] gen9_read32+0x336/0x3f0 [i915]
[  250.913537]  [<ffffffff81796919>] ? mutex_unlock+0x9/0x10
[  250.913561]  [<ffffffffa0210a32>] skl_ddb_get_hw_state+0xa2/0x160 [i915]
[  250.913605]  [<ffffffffa0269ac3>] check_wm_state+0x43/0x1b0 [i915]
[  250.913650]  [<ffffffffa027a58b>] intel_atomic_commit+0x98b/0x17f0 [i915]
[  250.913699]  [<ffffffff8150ed17>] ? drm_atomic_add_affected_connectors+0x87/0xf0
[  250.913706]  [<ffffffff8150e632>] drm_atomic_commit+0x32/0x50
[  250.913715]  [<ffffffff814eb705>] drm_atomic_helper_set_config+0x75/0xb0
[  250.913726]  [<ffffffff814fd640>] drm_mode_set_config_internal+0x60/0x110
[  250.913733]  [<ffffffff815023d6>] drm_mode_setcrtc+0x186/0x4f0
[  250.913739]  [<ffffffff811844f8>] ? __might_fault+0x48/0xa0
[  250.913761]  [<ffffffff814f450d>] drm_ioctl+0x13d/0x590
[  250.913774]  [<ffffffff81502250>] ? drm_mode_setplane+0x1b0/0x1b0
[  250.913789]  [<ffffffff811c2793>] ? __vfs_read+0x23/0xd0
[  250.913801]  [<ffffffff811d53ec>] do_vfs_ioctl+0x2fc/0x550
[  250.913817]  [<ffffffff811e0e5a>] ? __fget_light+0x6a/0x90
[  250.913829]  [<ffffffff811d567c>] SyS_ioctl+0x3c/0x70
[  250.913846]  [<ffffffff8179a45b>] entry_SYSCALL_64_fastpath+0x16/0x73
[  250.913857] ---[ end trace 69fd11dcfc73e82c ]---
Comment 1 Imre Deak 2016-02-18 14:06:55 UTC
The fix is merged now, closing:

commit 4d800030238878c1a98d1d3a37a3d673eea661ce
Author: Imre Deak <imre.deak@intel.com>
Date:   Wed Feb 17 16:31:29 2016 +0200

    drm/i915/skl: Ensure HW is powered during DDB 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.