Bug 84217 - [BDW Bisected]igt/kms_flip/rcs-wf_vblank-vs-dpms-interruptible causes "WARNING: CPU: 0 PID: 14539 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x140/0x16b [drm]()"
Summary: [BDW Bisected]igt/kms_flip/rcs-wf_vblank-vs-dpms-interruptible causes "WARNIN...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: high normal
Assignee: Daniel Vetter
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-23 05:48 UTC by Guo Jinxian
Modified: 2017-10-06 14:35 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Guo Jinxian 2014-09-23 05:48:07 UTC
==System Environment==
--------------------------
Regression: Yes.

Non-working platforms: BDW

==kernel==
--------------------------
origin/drm-intel-nightly:c5660b4ad395f1e34eacc22cf81c687edfc9c83c(fails)
    drm-intel-nightly: 2014y-09m-19d-18h-12m-22s UTC integration manifest

==Bug detailed description==
-----------------------------
igt/kms_flip/rcs-wf_vblank-vs-dpms-interruptible causes "WARNING: CPU: 0 PID: 14539 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x140/0x16b [drm]()"

Dmesg:
[ 616.648808] WARNING: CPU: 0 PID: 14539 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x140/0x16b [drm]()
[ 616.648811] vblank wait timed out on crtc 1
[ 616.648813] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi snd_hda_intel pcspkr snd_hda_controller snd_hda_codec snd_hwdep snd_pcm i2c_i801 snd_timer lpc_ich mfd_core snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm
[ 616.648845] CPU: 0 PID: 14539 Comm: kms_flip Tainted: G W 3.17.0-rc5_prts_2288af_20140919_debug+ #4
[ 616.648848] 0000000000000000 ffff880090833a08 ffffffff8181606c ffff880090833a50
[ 616.648854] ffff880090833a40 ffffffff8103e87f ffffffffa000611a 0000000000000001
[ 616.648859] ffff8800035cd000 ffff8801499c7500 0000000000001073 ffff880090833aa0
[ 616.648864] Call Trace:
[ 616.648872] [] dump_stack+0x45/0x56
[ 616.648878] [] warn_slowpath_common+0x7f/0x98
[ 616.648893] [] ? drm_wait_one_vblank+0x140/0x16b [drm]
[ 616.648898] [] warn_slowpath_fmt+0x4c/0x4e
[ 616.648904] [] ? finish_wait+0x5c/0x65
[ 616.648917] [] drm_wait_one_vblank+0x140/0x16b [drm]
[ 616.648922] [] ? abort_exclusive_wait+0x89/0x89
[ 616.648958] [] intel_enable_primary_hw_plane+0x7a/0x83 [i915]
[ 616.648990] [] intel_crtc_enable_planes+0x2f/0xd7 [i915]
[ 616.649019] [] haswell_crtc_enable+0x876/0x89d [i915]
[ 616.649051] [] __intel_set_mode+0xc77/0x1230 [i915]
[ 616.649057] [] ? trace_hardirqs_on_caller+0x16e/0x18a
[ 616.649085] [] intel_set_mode+0x14/0x2a [i915]
[ 616.649111] [] intel_crtc_set_config+0x9b6/0xa9f [i915]
[ 616.649131] [] drm_mode_set_config_internal+0x55/0xe0 [drm]
[ 616.649150] [] drm_mode_setcrtc+0x39e/0x498 [drm]
[ 616.649164] [] drm_ioctl+0x385/0x404 [drm]
[ 616.649181] [] ? drm_mode_setplane+0x1d8/0x1d8 [drm]
[ 616.649187] [] do_vfs_ioctl+0x3a3/0x46c
[ 616.649193] [] ? current_kernel_time+0x61/0x9a
[ 616.649199] [] ? trace_hardirqs_on_caller+0x16e/0x18a
[ 616.649203] [] SyS_ioctl+0x50/0x7d
[ 616.649209] [] system_call_fastpath+0x16/0x1b
[ 616.649212] ---[ end trace 0a38a53f881c9a40 ]---


==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest rcs-wf_vblank-vs-dpms-interruptible

==Bisect results form [PRTS][auto-bisect]==
----------------------------
commit 51e31d49c89055299e34b8f44d13f70e19aaaad1
Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Mon Sep 15 12:36:02 2014 +0200
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Fri Sep 19 14:43:15 2014 +0200

    drm/i915: Use generic vblank wait
    
    This has the upside that it will no longer steal interrupts from the
    interrupt handler on pre-g4x. Furthermore this will now scream properly
    on all platforms if we don't have hw counters enabled.
    
    v2: Adjust to the new names.
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 1 Jani Nikula 2014-09-23 12:43:02 UTC
Please keep assigning regressing commits to their authors.
Comment 2 Rodrigo Vivi 2014-10-02 22:16:01 UTC
Hi Guo, I believe this one is gone.

Could you please retest with latest -nightly?
Comment 3 Guo Jinxian 2014-10-08 02:09:41 UTC
(In reply to Rodrigo Vivi from comment #2)
> Hi Guo, I believe this one is gone.
> 
> Could you please retest with latest -nightly?

The failure still able to reproduce on latest -nightly(eabc0c8db15f9ba4d727aee5e0612a68cafe1ab5)

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest rcs-wf_vblank-vs-dpms-interruptible
IGT-Version: 1.8-g6a8d33c (x86_64) (Linux: 3.17.0-rc7_drm-intel-nightly_eabc0c_20141006+ x86_64)
Using monotonic timestamps
Beginning rcs-wf_vblank-vs-dpms-interruptible on crtc 8, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-wf_vblank-vs-dpms-interruptible on crtc 8, connector 19: PASSED

Beginning rcs-wf_vblank-vs-dpms-interruptible on crtc 12, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-wf_vblank-vs-dpms-interruptible on crtc 12, connector 19: PASSED

Beginning rcs-wf_vblank-vs-dpms-interruptible on crtc 16, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-wf_vblank-vs-dpms-interruptible on crtc 16, connector 19: PASSED

Subtest rcs-wf_vblank-vs-dpms-interruptible: SUCCESS (68.162s)
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm                  <4>[  114.593051] WARNING: CPU: 0 PID: 4551 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x10e/0x16c [drm]()
<4>[  114.593053] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr snd_hda_intel i2c_i801 snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich mfd_core snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[  114.593071] CPU: 0 PID: 4551 Comm: kms_flip Not tainted 3.17.0-rc7_drm-intel-nightly_eabc0c_20141006+ #270
<4>[  114.593100]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  114.593113]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  114.593180]  [<ffffffffa0017fc9>] ? drm_mode_set_config_internal+0x48/0xbd [drm]
<4>[  114.593187]  [<ffffffffa001b9f2>] ? drm_mode_setcrtc+0x3e6/0x48b [drm]
<4>[  114.593193]  [<ffffffffa0010740>] ? drm_ioctl+0x279/0x3bc [drm]
<4>[  114.593203]  [<ffffffffa001b60c>] ? drm_mode_setplane+0x1ce/0x1ce [drm]
<4>[  136.955602] WARNING: CPU: 0 PID: 4551 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x10e/0x16c [drm]()
<4>[  136.955605] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr snd_hda_intel i2c_i801 snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich mfd_core snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[  136.955622] CPU: 0 PID: 4551 Comm: kms_flip Tainted: G        W      3.17.0-rc7_drm-intel-nightly_eabc0c_20141006+ #270
<4>[  136.955650]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  136.955663]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  136.955715]  [<ffffffffa001c58b>] ? drm_mode_obj_set_property_ioctl+0x1e4/0x276 [drm]
<4>[  136.955722]  [<ffffffffa001c649>] ? drm_mode_connector_property_set_ioctl+0x2c/0x31 [drm]
<4>[  136.955728]  [<ffffffffa0010740>] ? drm_ioctl+0x279/0x3bc [drm]
<4>[  136.955734]  [<ffffffffa001c61d>] ? drm_mode_obj_set_property_ioctl+0x276/0x276 [drm]
<4>[  138.109200] WARNING: CPU: 0 PID: 4551 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x10e/0x16c [drm]()
<4>[  138.109202] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr snd_hda_intel i2c_i801 snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich mfd_core snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[  138.109219] CPU: 0 PID: 4551 Comm: kms_flip Tainted: G        W      3.17.0-rc7_drm-intel-nightly_eabc0c_20141006+ #270
<4>[  138.109248]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  138.109262]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  138.109328]  [<ffffffffa0017fc9>] ? drm_mode_set_config_internal+0x48/0xbd [drm]
<4>[  138.109335]  [<ffffffffa001b9f2>] ? drm_mode_setcrtc+0x3e6/0x48b [drm]
<4>[  138.109342]  [<ffffffffa0010740>] ? drm_ioctl+0x279/0x3bc [drm]
<4>[  138.109352]  [<ffffffffa001b60c>] ? drm_mode_setplane+0x1ce/0x1ce [drm]
<4>[  160.414722] WARNING: CPU: 0 PID: 4551 at drivers/gpu/drm/drm_irq.c:1089 drm_wait_one_vblank+0x10e/0x16c [drm]()
<4>[  160.414725] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr snd_hda_intel i2c_i801 snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich mfd_core snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[  160.414743] CPU: 0 PID: 4551 Comm: kms_flip Tainted: G        W      3.17.0-rc7_drm-intel-nightly_eabc0c_20141006+ #270
<4>[  160.414772]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  160.414785]  [<ffffffffa0011aad>] ? drm_wait_one_vblank+0x10e/0x16c [drm]
<4>[  160.414838]  [<ffffffffa001c58b>] ? drm_mode_obj_set_property_ioctl+0x1e4/0x276 [drm]
<4>[  160.414844]  [<ffffffffa001c649>] ? drm_mode_connector_property_set_ioctl+0x2c/0x31 [drm]
<4>[  160.414851]  [<ffffffffa0010740>] ? drm_ioctl+0x279/0x3bc [drm]
<4>[  160.414861]  [<ffffffffa001c61d>] ? drm_mode_obj_set_property_ioctl+0x276/0x276 [drm]
Comment 4 Paulo Zanoni 2014-10-08 14:30:06 UTC
I just tested my BDW machine with the command provided in comment #1:

./kms_flip --run-subtest rcs-wf_vblank-vs-dpms-interruptible

And I can confirm that patch "drm/i915: properly reenable gen8 pipe IRQs" fixes the bug for me, so I'm closing the bug. If it still happens, please reopen.
Comment 5 Guo Jinxian 2014-10-13 03:25:34 UTC
Verified on latest -nightly(ead7d71357628dc1231535886ec09853e9164d6d)


root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest rcs-wf_vblank-vs-dpms-interruptible
IGT-Version: 1.8-gb7d80d1 (x86_64) (Linux: 3.17.0_drm-intel-nightly_ead7d7_20141013+ x86_64)
Using monotonic timestamps
Beginning rcs-wf_vblank-vs-dpms-interruptible on crtc 8, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-wf_vblank-vs-dpms-interruptible on crtc 8, connector 19: PASSED

Beginning rcs-wf_vblank-vs-dpms-interruptible on crtc 12, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-wf_vblank-vs-dpms-interruptible on crtc 12, connector 19: PASSED

Beginning rcs-wf_vblank-vs-dpms-interruptible on crtc 16, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-wf_vblank-vs-dpms-interruptible on crtc 16, connector 19: PASSED

Subtest rcs-wf_vblank-vs-dpms-interruptible: SUCCESS (68.027s)
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
Comment 6 Elizabeth 2017-10-06 14:35:24 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.