<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>high
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [BDW bisected]igt/kms_flip subcases cause "WARNING: CPU: 0 PID: 4846 at drivers/gpu/drm/i915/intel_display.c:3315 intel_crtc_wait_for_pending_flips+0xe6/0x13a [i915]()""
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79354">79354</a>
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[BDW bisected]igt/kms_flip subcases cause "WARNING: CPU: 0 PID: 4846 at drivers/gpu/drm/i915/intel_display.c:3315 intel_crtc_wait_for_pending_flips+0xe6/0x13a [i915]()"
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jinxianx.guo@intel.com
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/Intel
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=100009" name="attach_100009" title="dmesg">attachment 100009</a> <a href="attachment.cgi?id=100009&action=edit" title="dmesg">[details]</a></span>
dmesg

==System Environment==
--------------------------
Regression: Yes. 
The cases only failed, didn't have CallTrace before.

Non-working platforms: BDW

==kernel==
--------------------------
origin/drm-intel-nightly: 9f53d4f6f55aa0c037f299dbe2986eec9151be9b(fails)
    drm-intel-nightly: 2014y-05m-28d-00h-00m-47s integration manifest
origin/drm-intel-next-queued: 38d811545c61cf188beac860615a08fb32f73eb1(fails)
    drm/i915/vlv: add pll assertion when disabling DPIO common well   
origin/drm-intel-fixes: d23db88c3ab233daed18709e3a24d6c95344117f(works)
    drm/i915: Prevent negative relocation deltas from wrapping

==Bug detailed description==
-----------------------------
igt/kms_flip subcases cause "WARNING: CPU: 0 PID: 4846 at
drivers/gpu/drm/i915/intel_display.c:3315
intel_crtc_wait_for_pending_flips+0xe6/0x13a [i915]()"

Dmesg shows:
 WARNING: CPU: 0 PID: 4846 at drivers/gpu/drm/i915/intel_display.c:3315
intel_crtc_wait_for_pending_flips+0xe6/0x13a [i915]()
[  971.797703] Modules linked in: dm_mod snd_hda_codec_hdmi iTCO_wdt
iTCO_vendor_support ppdev snd_hda_intel snd_hda_controller snd_hda_codec
snd_hwdep snd_pcm pcspkr i2c_i801 lpc_ich mfd_core snd_timer snd soundcore
battery parport_pc parport ac acpi_cpufreq i915 video button drm_kms_helper drm
[  971.797706] CPU: 0 PID: 4846 Comm: kms_flip Tainted: G        W    
3.15.0-rc7_drm-intel-nightly_9f53d4_20140528+ #3050
[  971.797709]  0000000000000000 0000000000000009 ffffffff8172443b
0000000000000000
[  971.797711]  ffffffff8103516a 0000000000000246 ffffffffa009fc48
0000000000000283
[  971.797712]  0000000000000000 ffff880149e97000 ffff880145690000
ffff8800aa8fe800
[  971.797713] Call Trace:
[  971.797718]  [<ffffffff8172443b>] ? dump_stack+0x41/0x51
[  971.797721]  [<ffffffff8103516a>] ? warn_slowpath_common+0x73/0x8b
[  971.797732]  [<ffffffffa009fc48>] ?
intel_crtc_wait_for_pending_flips+0xe6/0x13a [i915]
[  971.797741]  [<ffffffffa009fc48>] ?
intel_crtc_wait_for_pending_flips+0xe6/0x13a [i915]
[  971.797744]  [<ffffffff8105f5fb>] ? __wake_up_sync+0x7/0x7
[  971.797755]  [<ffffffffa00a7c5d>] ? intel_crtc_set_config+0x72d/0xa17 [i915]
[  971.797765]  [<ffffffffa000bd4f>] ? drm_mode_set_config_internal+0x48/0xad
[drm]
[  971.797768]  [<ffffffffa0049abe>] ?
drm_fb_helper_restore_fbdev_mode+0x8f/0xa8 [drm_kms_helper]
[  971.797771]  [<ffffffffa0049e88>] ? drm_fb_helper_set_par+0x43/0x6b
[drm_kms_helper]
[  971.797775]  [<ffffffff81319cb5>] ? fb_set_var+0x246/0x32c
[  971.797777]  [<ffffffff810daf3a>] ? kmem_cache_alloc+0x23/0xac
[  971.797780]  [<ffffffff81354ad2>] ? check_tty_count+0x1c/0x93
[  971.797782]  [<ffffffff813120ca>] ? fbcon_blank+0x71/0x230
[  971.797785]  [<ffffffff8136729b>] ? do_unblank_screen+0xed/0x166
[  971.797788]  [<ffffffff8135f91f>] ? vt_ioctl+0x4b0/0xf7f
[  971.797790]  [<ffffffff8135806b>] ? tty_ioctl+0x8b5/0x924
[  971.797793]  [<ffffffff810ece7a>] ? do_filp_open+0x2d/0x75
[  971.797796]  [<ffffffff810eeb83>] ? do_vfs_ioctl+0x3ec/0x435
[  971.797799]  [<ffffffff810f6521>] ? __fd_install+0x15/0x43
[  971.797802]  [<ffffffff810eec15>] ? SyS_ioctl+0x49/0x78
[  971.797805]  [<ffffffff8172ec22>] ? system_call_fastpath+0x16/0x1b


==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest vblank-vs-hang-interruptible

==Bisect results==
----------------------------
fe5b1886a78d92e0e4681e449725714e947dfc58 is the first bad commit
commit fe5b1886a78d92e0e4681e449725714e947dfc58
Author:     Imre Deak <<a href="mailto:imre.deak@intel.com">imre.deak@intel.com</a>>
AuthorDate: Mon May 12 18:35:05 2014 +0300
Commit:     Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>
CommitDate: Thu May 22 21:53:27 2014 +0200

    drm/i915: disable GT power saving early during system suspend

    Atm, we disable GT power saving during the end of the suspend sequence
    in i915_save_state(). Doing the disabling at that point seems arbitrary.
    One reason to disable it early though is to have a quiescent HW state
    before we do anything else (for example save registers). So move the
    disabling earlier, which also takes care canceling of the deferred RPS
    enabling work done by intel_disable_gt_powersave().

    Note that after the move we'll call intel_disable_gt_powersave() only
    in case modeset is enabled, but that's anyway the only case where we
    have it enabled in the first place.

    Signed-off-by: Imre Deak <<a href="mailto:imre.deak@intel.com">imre.deak@intel.com</a>>
    Reviewed-by: Robert Beckett <<a href="mailto:robert.beckett@intel.com">robert.beckett@intel.com</a>>
    Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>