Bug 80122 - [HSW Regression]igt/kms_flip causes "WARNING: CPU: 5 PID: 4368 at drivers/gpu/drm/i915/intel_pm.c:6174 check_power_well_state+0x69/0x6f [i915]()" sporadically
Summary: [HSW Regression]igt/kms_flip causes "WARNING: CPU: 5 PID: 4368 at drivers/gpu...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: highest normal
Assignee: Imre Deak
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-17 08:38 UTC by Guo Jinxian
Modified: 2016-10-19 11:06 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (122.44 KB, text/plain)
2014-06-17 08:38 UTC, Guo Jinxian
no flags Details

Description Guo Jinxian 2014-06-17 08:38:31 UTC
Created attachment 101210 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
This bug only find on -nightly branch.

Non-working platforms: HSW

==kernel==
--------------------------
origin/drm-intel-nightly: e9ce9f961282205b5954a0da4e48e96884190a77(fails)
    drm-intel-nightly: 2014y-06m-16d-21h-22m-19s integration manifest
origin/drm-intel-next-queued: 8c0f92e1f87149bd2429015c9d0600a13a34d607(tried 5 times, didn't find this issue)
    drm/i915: Fix comment about our plane remapping on gen2/3
origin/drm-intel-fixes: 223a6f2b975ab35d93270ea1d4fb6e0ac6b27fe6(tried 5 times, didn't find this issue)
    drm/i915/bdw: remove erroneous chv specific workarounds from bdw code

==Bug detailed description==
-----------------------------
igt/kms_flip causes "WARNING: CPU: 5 PID: 4368 at drivers/gpu/drm/i915/intel_pm.c:6174 check_power_well_state+0x69/0x6f [i915]()"

Case list:
igt/kms_flip/vblank-vs-dpms-suspend
igt/kms_flip/vblank-vs-dpms-suspend-interruptible
igt/kms_flip/vblank-vs-modeset-suspend
igt/kms_flip/vblank-vs-modeset-suspend-interruptible
igt/kms_flip/vblank-vs-suspend
igt/kms_flip/vblank-vs-suspend-interruptible


Output:
[root@x-hsw26 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend
IGT-Version: 1.7-gd123de6 (x86_64) (Linux: 3.15.0-rc8_drm-intel-nightly_e9ce9f_20140617+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-dpms-suspend on crtc 6, connector 25
  1920x1080 60 1920 2008 2052 2200 1080 1082 1087 1125 0x5 0x48 148500
.rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jun 17 21:28:21 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jun 17 21:28:54 2014

vblank-vs-dpms-suspend on crtc 6, connector 25: PASSED

Beginning vblank-vs-dpms-suspend on crtc 10, connector 25
  1920x1080 60 1920 2008 2052 2200 1080 1082 1087 1125 0x5 0x48 148500
.rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jun 17 21:29:27 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jun 17 21:30:00 2014

vblank-vs-dpms-suspend on crtc 10, connector 25: PASSED

Beginning vblank-vs-dpms-suspend on crtc 14, connector 25
  1920x1080 60 1920 2008 2052 2200 1080 1082 1087 1125 0x5 0x48 148500
.rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jun 17 21:30:33 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jun 17 21:31:06 2014

vblank-vs-dpms-suspend on crtc 14, connector 25: PASSED

Subtest vblank-vs-dpms-suspend: SUCCESS



==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest vblank-vs-dpms-suspend
Comment 1 Guo Jinxian 2014-06-17 08:39:44 UTC
DMESG shows:
[  100.529130] WARNING: CPU: 5 PID: 4368 at drivers/gpu/drm/i915/intel_pm.c:6174 check_power_well_state+0x69/0x6f [i915]()
[  100.529131] state mismatch for 'display' (always_on 0 hw state 0 use-count 3 disable_power_well 1
[  100.529138] Modules linked in: dm_mod snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi iTCO_wdt iTCO_vendor_support pcspkr serio_raw i2c_i801 firewire_ohci lpc_ich mfd_core snd_hda_intel snd_hda_controller firewire_core crc_itu_t snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore battery wmi acpi_cpufreq i915 video button drm_kms_helper drm
[  100.529140] CPU: 5 PID: 4368 Comm: kworker/u16:148 Tainted: G        W     3.15.0-rc8_drm-intel-nightly_e9ce9f_20140617+ #3634
[  100.529140] Hardware name:                  /DZ87KLT75K, BIOS KLZ8711D.86A.0336.2013.0516.1957 05/16/2013
[  100.529143] Workqueue: events_unbound async_run_entry_fn
[  100.529144]  0000000000000000 0000000000000009 ffffffff81772bca ffff880255dafc68
[  100.529145]  ffffffff81036e54 0000000000000286 ffffffffa0069e8b ffff88025661c000
[  100.529146]  ffffffffa00fe338 ffffffffa00fe338 0000000000000001 0000000000800000
[  100.529147] Call Trace:
[  100.529150]  [<ffffffff81772bca>] ? dump_stack+0x41/0x51
[  100.529153]  [<ffffffff81036e54>] ? warn_slowpath_common+0x78/0x90
[  100.529156]  [<ffffffffa0069e8b>] ? check_power_well_state+0x69/0x6f [i915]
[  100.529158]  [<ffffffff81036f04>] ? warn_slowpath_fmt+0x45/0x4a
[  100.529162]  [<ffffffffa0069e8b>] ? check_power_well_state+0x69/0x6f [i915]
[  100.529166]  [<ffffffffa006df31>] ? intel_display_power_get+0x82/0xb9 [i915]
[  100.529173]  [<ffffffffa00aad1c>] ? intel_display_set_init_power+0x22/0x34 [i915]
[  100.529177]  [<ffffffffa006ddff>] ? intel_power_domains_init_hw+0x21/0x6b [i915]
[  100.529180]  [<ffffffffa0064607>] ? i915_resume_early+0x3d/0x3d [i915]
[  100.529183]  [<ffffffffa0064135>] ? i915_drm_thaw_early+0x40/0x46 [i915]
[  100.529186]  [<ffffffff813d129b>] ? dpm_run_callback+0x30/0x6b
[  100.529187]  [<ffffffff813d1950>] ? device_resume_early+0x130/0x172
[  100.529189]  [<ffffffff813d1b78>] ? async_resume_early+0x14/0x38
[  100.529189]  [<ffffffff81053d9f>] ? async_run_entry_fn+0x55/0x10b
[  100.529192]  [<ffffffff8104aade>] ? process_one_work+0x1e2/0x363
[  100.529193]  [<ffffffff8104b385>] ? worker_thread+0x1c7/0x2bc
[  100.529194]  [<ffffffff8104b1be>] ? manage_workers.isra.23+0x1b5/0x1b5
[  100.529196]  [<ffffffff8104fb32>] ? kthread+0xc5/0xcd
[  100.529197]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
[  100.529199]  [<ffffffff8177e9bc>] ? ret_from_fork+0x7c/0xb0
[  100.529200]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
Comment 2 yaoming 2014-07-30 06:47:05 UTC
I have tested it on the latest nightly branch(drm-intel-nightly_eb2af9_20140730)and I didn't find the Call Trace.
Comment 3 Ville Syrjala 2014-07-31 17:58:57 UTC
Tossing the bug to Imre to check. I guess we can close it if it no longer happens.
Comment 4 Imre Deak 2014-08-12 12:03:03 UTC
I can't reproduce it either. I assume it was fixed by:

commit b04c5bd6fda54703e56f29569e4bca489d6c5a5c
Author: Borun Fu <borun.fu@intel.com>
Date:   Sat Jul 12 10:02:27 2014 +0530

    drm/i915: Power gating display wells during i915_pm_suspend

Setting to fixed based on this.
Comment 5 Guo Jinxian 2014-08-13 07:04:24 UTC
The warning unable to reproduce on latest -nightly(723dbbfb6ce02b5662c0c4cac9be3bcdfbb11d35). But the test was failed, which tracked by bug 79052

[root@x-hsw24 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend
IGT-Version: 1.7-geda904c (x86_64) (Linux: 3.16.0_drm-intel-nightly_723dbb_20140813+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-dpms-suspend on crtc 7, connector 18
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500
.rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Aug 13 06:44:25 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Aug 13 06:44:57 2014
Test assertion failure function check_state, file kms_flip.c:557:
Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <)
vblank ts before the vblank was issued!
timerdiff -1s, 987323us
Subtest vblank-vs-dpms-suspend: FAIL
[root@x-hsw24 tests]# dmesg -r|egrep "<[1-4]>"|grep drm
[root@x-hsw24 tests]#
Comment 6 Jari Tahvanainen 2016-10-19 11:06:46 UTC
Closing verified+fixed.


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.