Bug 80123 - [HSW/BDW Bisected]igt/drv_suspend and kms_flip causes " WARNING: CPU: 5 PID: 4253 at drivers/gpu/drm/i915/intel_display.c:7305 hsw_enable_pc8+0xeb/0x54d [i915]()" sporadically
Summary: [HSW/BDW Bisected]igt/drv_suspend and kms_flip causes " WARNING: CPU: 5 PID: ...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: high normal
Assignee: Jesse Barnes
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-17 08:43 UTC by Guo Jinxian
Modified: 2017-10-06 14:37 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (122.44 KB, text/plain)
2014-06-17 08:43 UTC, Guo Jinxian
no flags Details
dmesg (38.16 KB, text/plain)
2014-06-20 03:13 UTC, Guo Jinxian
no flags Details

Description Guo Jinxian 2014-06-17 08:43:06 UTC
Created attachment 101211 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
This bug only find on -nightly branch. The fail rate about 1 out of 3.

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

DMESG shows:
[  101.492242] WARNING: CPU: 5 PID: 4253 at drivers/gpu/drm/i915/intel_display.c:7305 hsw_enable_pc8+0xeb/0x54d [i915]()
[  101.492242] Power well on
[  101.492249] 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
[  101.492250] CPU: 5 PID: 4253 Comm: kworker/u16:45 Tainted: G        W     3.15.0-rc8_drm-intel-nightly_e9ce9f_20140617+ #3634
[  101.492251] Hardware name:                  /DZ87KLT75K, BIOS KLZ8711D.86A.0336.2013.0516.1957 05/16/2013
[  101.492254] Workqueue: events_unbound async_run_entry_fn
[  101.492255]  0000000000000000 0000000000000009 ffffffff81772bca ffff880250183cd8
[  101.492256]  ffffffff81036e54 0000000000000246 ffffffffa00aca76 000000000000020c
[  101.492257]  ffff880002c50000 ffff880250c48360 ffff880250c48368 0000000000000000
[  101.492257] Call Trace:
[  101.492260]  [<ffffffff81772bca>] ? dump_stack+0x41/0x51
[  101.492263]  [<ffffffff81036e54>] ? warn_slowpath_common+0x78/0x90
[  101.492268]  [<ffffffffa00aca76>] ? hsw_enable_pc8+0xeb/0x54d [i915]
[  101.492269]  [<ffffffff81036f04>] ? warn_slowpath_fmt+0x45/0x4a
[  101.492274]  [<ffffffffa00aca76>] ? hsw_enable_pc8+0xeb/0x54d [i915]
[  101.492278]  [<ffffffffa0064148>] ? i915_pm_thaw_early+0xd/0xd [i915]
[  101.492281]  [<ffffffffa0064178>] ? i915_pm_suspend_late+0x30/0x49 [i915]
[  101.492283]  [<ffffffff813d129b>] ? dpm_run_callback+0x30/0x6b
[  101.492285]  [<ffffffff813d1403>] ? __device_suspend_late+0x12d/0x15d
[  101.492286]  [<ffffffff813d144a>] ? async_suspend_late+0x17/0x7f
[  101.492287]  [<ffffffff81053e23>] ? async_run_entry_fn+0xd9/0x10b
[  101.492287]  [<ffffffff81053d9f>] ? async_run_entry_fn+0x55/0x10b
[  101.492289]  [<ffffffff8104aade>] ? process_one_work+0x1e2/0x363
[  101.492291]  [<ffffffff8104b385>] ? worker_thread+0x1c7/0x2bc
[  101.492292]  [<ffffffff8104b1be>] ? manage_workers.isra.23+0x1b5/0x1b5
[  101.492293]  [<ffffffff8104fb32>] ? kthread+0xc5/0xcd
[  101.492295]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
[  101.492296]  [<ffffffff8177e9bc>] ? ret_from_fork+0x7c/0xb0
[  101.492297]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
[  101.492298] ---[ end trace 366fcbad8095cbf0 ]---
[  101.492299] ------------[ cut here ]------------
[  101.492303] WARNING: CPU: 5 PID: 4253 at drivers/gpu/drm/i915/intel_display.c:7307 hsw_enable_pc8+0x131/0x54d [i915]()
[  101.492303] WRPLL1 enabled
[  101.492309] 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
[  101.492310] CPU: 5 PID: 4253 Comm: kworker/u16:45 Tainted: G        W     3.15.0-rc8_drm-intel-nightly_e9ce9f_20140617+ #3634
[  101.492310] Hardware name:                  /DZ87KLT75K, BIOS KLZ8711D.86A.0336.2013.0516.1957 05/16/2013
[  101.492311] Workqueue: events_unbound async_run_entry_fn
[  101.492312]  0000000000000000 0000000000000009 ffffffff81772bca ffff880250183cd8
[  101.492313]  ffffffff81036e54 0000000000000246 ffffffffa00acabc 000000000000020c
[  101.492313]  ffff880002c50000 ffff880250c48360 ffff880250c48368 0000000000000000
[  101.492314] Call Trace:
[  101.492315]  [<ffffffff81772bca>] ? dump_stack+0x41/0x51
[  101.492316]  [<ffffffff81036e54>] ? warn_slowpath_common+0x78/0x90
[  101.492320]  [<ffffffffa00acabc>] ? hsw_enable_pc8+0x131/0x54d [i915]
[  101.492321]  [<ffffffff81036f04>] ? warn_slowpath_fmt+0x45/0x4a
[  101.492326]  [<ffffffffa00acabc>] ? hsw_enable_pc8+0x131/0x54d [i915]
[  101.492329]  [<ffffffffa0064148>] ? i915_pm_thaw_early+0xd/0xd [i915]
[  101.492332]  [<ffffffffa0064178>] ? i915_pm_suspend_late+0x30/0x49 [i915]
[  101.492333]  [<ffffffff813d129b>] ? dpm_run_callback+0x30/0x6b
[  101.492335]  [<ffffffff813d1403>] ? __device_suspend_late+0x12d/0x15d
[  101.492336]  [<ffffffff813d144a>] ? async_suspend_late+0x17/0x7f
[  101.492337]  [<ffffffff81053e23>] ? async_run_entry_fn+0xd9/0x10b
[  101.492338]  [<ffffffff81053d9f>] ? async_run_entry_fn+0x55/0x10b
[  101.492339]  [<ffffffff8104aade>] ? process_one_work+0x1e2/0x363
[  101.492340]  [<ffffffff8104b385>] ? worker_thread+0x1c7/0x2bc
[  101.492342]  [<ffffffff8104b1be>] ? manage_workers.isra.23+0x1b5/0x1b5
[  101.492342]  [<ffffffff8104fb32>] ? kthread+0xc5/0xcd
[  101.492344]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
[  101.492345]  [<ffffffff8177e9bc>] ? ret_from_fork+0x7c/0xb0
[  101.492346]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
[  101.492346] ---[ end trace 366fcbad8095cbf1 ]---
[  101.492350] ------------[ cut here ]------------
[  101.492354] WARNING: CPU: 5 PID: 4253 at drivers/gpu/drm/i915/intel_display.c:7326 hsw_enable_pc8+0x29d/0x54d [i915]()
[  101.492355] IRQs enabled
[  101.492360] 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
[  101.492360] CPU: 5 PID: 4253 Comm: kworker/u16:45 Tainted: G        W     3.15.0-rc8_drm-intel-nightly_e9ce9f_20140617+ #3634
[  101.492361] Hardware name:                  /DZ87KLT75K, BIOS KLZ8711D.86A.0336.2013.0516.1957 05/16/2013
[  101.492362] Workqueue: events_unbound async_run_entry_fn
[  101.492362]  0000000000000000 0000000000000009 ffffffff81772bca ffff880250183cd8
[  101.492363]  ffffffff81036e54 0000000000000246 ffffffffa00acc28 000000000000020c
[  101.492364]  ffff880002c50000 ffff880250c48360 ffff880250c48368 0000000000000000
[  101.492364] Call Trace:
[  101.492366]  [<ffffffff81772bca>] ? dump_stack+0x41/0x51
[  101.492367]  [<ffffffff81036e54>] ? warn_slowpath_common+0x78/0x90
[  101.492371]  [<ffffffffa00acc28>] ? hsw_enable_pc8+0x29d/0x54d [i915]
[  101.492372]  [<ffffffff81036f04>] ? warn_slowpath_fmt+0x45/0x4a
[  101.492376]  [<ffffffffa00acc28>] ? hsw_enable_pc8+0x29d/0x54d [i915]
[  101.492379]  [<ffffffffa0064148>] ? i915_pm_thaw_early+0xd/0xd [i915]
[  101.492383]  [<ffffffffa0064178>] ? i915_pm_suspend_late+0x30/0x49 [i915]
[  101.492384]  [<ffffffff813d129b>] ? dpm_run_callback+0x30/0x6b
[  101.492385]  [<ffffffff813d1403>] ? __device_suspend_late+0x12d/0x15d
[  101.492386]  [<ffffffff813d144a>] ? async_suspend_late+0x17/0x7f
[  101.492387]  [<ffffffff81053e23>] ? async_run_entry_fn+0xd9/0x10b
[  101.492388]  [<ffffffff81053d9f>] ? async_run_entry_fn+0x55/0x10b
[  101.492389]  [<ffffffff8104aade>] ? process_one_work+0x1e2/0x363
[  101.492390]  [<ffffffff8104b385>] ? worker_thread+0x1c7/0x2bc
[  101.492391]  [<ffffffff8104b1be>] ? manage_workers.isra.23+0x1b5/0x1b5
[  101.492392]  [<ffffffff8104fb32>] ? kthread+0xc5/0xcd
[  101.492393]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40
[  101.492394]  [<ffffffff8177e9bc>] ? ret_from_fork+0x7c/0xb0
[  101.492395]  [<ffffffff8104fa6d>] ? kthread_freezable_should_stop+0x40/0x40


==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest vblank-vs-dpms-suspend
Comment 1 lu hua 2014-06-18 07:16:48 UTC
drv_suspend subcases also have this warning with same bisect commit.
Bisect shows 85e90679335f56d162f4a0ff525573818e17ce44 is the first bad commit.
commit 85e90679335f56d162f4a0ff525573818e17ce44
Author:     Kristen Carlson Accardi <kristen@linux.intel.com>
AuthorDate: Thu Jun 12 08:35:44 2014 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Thu Jun 12 17:46:59 2014 +0200

    drm/i915: disable power wells on suspend

    We want to make sure everything is disabled and at its lowest power when
    freezing.

    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 2 Daniel Vetter 2014-06-18 08:55:09 UTC
Patch came in through Jesse.
Comment 3 Jesse Barnes 2014-06-19 18:28:28 UTC
Should be fixed now with:

commit 395a5abbd97d7d76a7a26da52f33daebe279b3b3
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Wed Jun 18 09:52:56 2014 -0700

    drm/i915: don't take runtime PM reference around freeze/thaw

commit e11aa362308f5de467ce355a2a2471321b15a35c
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Wed Jun 18 09:52:55 2014 -0700

    drm/i915: use runtime irq suspend/resume in freeze/thaw
Comment 4 Guo Jinxian 2014-06-20 03:13:35 UTC
Created attachment 101389 [details]
dmesg

This bug still able to reproduce on latest -nightly(00aac34ebc9326666425537316f030cd200365f4) on BDW while running case igt/pm_rpm/system-suspend

Dmesg:
[  126.575977] WARNING: CPU: 3 PID: 4435 at drivers/gpu/drm/i915/intel_display.c:7326 hsw_enable_pc8+0x29d/0x54d [i915]()
[  126.575978] IRQs enabled
[  126.575990] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep lpc_ich mfd_core snd_pcm snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 video button drm_kms_helper drm
[  126.575993] CPU: 3 PID: 4435 Comm: kworker/u16:6 Tainted: G        W     3.16.0-rc1_drm-intel-nightly_00aac3_20140619+ #3698
[  126.575998] Workqueue: events_unbound async_run_entry_fn
[  126.576000]  0000000000000000 0000000000000009 ffffffff8177f44d ffff880002cafcc8
[  126.576002]  ffffffff8103983c 0000000000000246 ffffffffa00acec3 000000000000020c
[  126.576004]  ffff880002f30000 ffff880002c9bb60 ffff880002c9bb68 ffffffffa0064144
[  126.576004] Call Trace:
[  126.576009]  [<ffffffff8177f44d>] ? dump_stack+0x41/0x51
[  126.576012]  [<ffffffff8103983c>] ? warn_slowpath_common+0x78/0x90
[  126.576023]  [<ffffffffa00acec3>] ? hsw_enable_pc8+0x29d/0x54d [i915]
[  126.576031]  [<ffffffffa0064144>] ? i915_pm_thaw_early+0x9/0x9 [i915]
[  126.576033]  [<ffffffff810398ec>] ? warn_slowpath_fmt+0x45/0x4a
[  126.576043]  [<ffffffffa00acec3>] ? hsw_enable_pc8+0x29d/0x54d [i915]
[  126.576050]  [<ffffffffa0064178>] ? i915_pm_suspend_late+0x34/0x4d [i915]
[  126.576054]  [<ffffffff813df34c>] ? dpm_run_callback+0x57/0xcf
[  126.576057]  [<ffffffff813df4f1>] ? __device_suspend_late+0x12d/0x15d
[  126.576060]  [<ffffffff8105a7c7>] ? ttwu_do_wakeup+0xf/0xb9
[  126.576063]  [<ffffffff813df537>] ? async_suspend_late+0x16/0x7d
[  126.576065]  [<ffffffff8105686b>] ? async_run_entry_fn+0x55/0x10b
[  126.576067]  [<ffffffff8104d5f6>] ? process_one_work+0x1e2/0x363
[  126.576069]  [<ffffffff8104ddd6>] ? worker_thread+0x2f2/0x3f1
[  126.576070]  [<ffffffff8104dae4>] ? pool_mayday_timeout+0xf2/0xf2
[  126.576073]  [<ffffffff8105254a>] ? kthread+0xc5/0xcd
[  126.576076]  [<ffffffff81052485>] ? kthread_freezable_should_stop+0x40/0x40
[  126.576078]  [<ffffffff81784eec>] ? ret_from_fork+0x7c/0xb0
[  126.576080]  [<ffffffff81052485>] ? kthread_freezable_should_stop+0x40/0x40
Comment 5 Guo Jinxian 2014-06-27 06:32:08 UTC
Test passed on latest -nightly(1087d4bf01e79523898c6c31615bf0c369e0039a)

Output:
[root@x-hsw27 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend
IGT-Version: 1.7-g7ef5372 (x86_64) (Linux: 3.16.0-rc2_drm-intel-nightly_1087d4_20140627+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-dpms-suspend on crtc 6, connector 16
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Jun 27 19:07:11 2014
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Jun 27 19:07:43 2014

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

Beginning vblank-vs-dpms-suspend on crtc 10, connector 16
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Jun 27 19:08:15 2014
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Jun 27 19:08:47 2014

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

Beginning vblank-vs-dpms-suspend on crtc 14, connector 16
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Jun 27 19:09:19 2014
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Jun 27 19:09:51 2014

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

Subtest vblank-vs-dpms-suspend: SUCCESS
Comment 6 Elizabeth 2017-10-06 14:37:42 UTC
Closing old verified.


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.