<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 --- - [SNB Regression]igt/kms_flip/modeset-vs-vblank-race-interruptible fails"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79060">79060</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>[SNB Regression]igt/kms_flip/modeset-vs-vblank-race-interruptible fails
          </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=99561" name="attach_99561" title="dmesg">attachment 99561</a> <a href="attachment.cgi?id=99561&action=edit" title="dmesg">[details]</a></span>
dmesg

==System Environment==
--------------------------
Regression: Yes. 
Good commit on -fixes (7f1950fbb989e8fc5463b307e062b4529d51c862)

Non-working platforms: SNB

==kernel==
--------------------------
-nightly: f5b0cca269ca3f7062f8d3441cebe6a16ce12be4(works)
-queued: e6a7e5d0fd778bc6cf295414b9937723091c9bb6(works)
    Author: Paulo Zanoni <<a href="mailto:paulo.r.zanoni@intel.com">paulo.r.zanoni@intel.com</a>>
    Date:   Wed May 21 17:29:31 2014 -0300

    drm/i915: grab the audio power domain when enabling audio on HSW+

    With the current code, we unconditionally touch
    HSW_AUD_PIN_ELD_CP_VLD, which means we can touch it when the power
    well is off, and that will trigger an "Unclaimed register" message.

    Just adding the intel_crtc->config.has_audio should already avoid the
    unclaimed register messsages, but since we actually need the power
    well to make the Audio code work, it makes sense to also grab the
    audio power domain reference, and release it when it's not needed
    anymore.

    I used IGT's pm_rpm to reproduce this bug, but it can probably be
    reproduced on other tests that do modesets. I'm using a machine with
    eDP+HDMI connected.

    Regression introduced by:

    commit acfa75b02e72bad7c93564ac379712e29c001432
    Author: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>
    Date:   Thu Apr 24 23:54:51 2014 +0200
        drm/i915: Simplify audio handling on DDI ports

    Credits to Daniel for suggesting this implementation.

    Cc: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>
    Signed-off-by: Paulo Zanoni <<a href="mailto:paulo.r.zanoni@intel.com">paulo.r.zanoni@intel.com</a>>
    Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>

-fixes: f93e94efebbe0b9ad5048076f171ea2b054ca4fb(fails)
    Author: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
    Date:   Wed May 21 12:42:56 2014 +0100

    drm/i915: Fix dynamic allocation of physical handles

    A single object may be referenced by multiple registers fundamentally
    breaking the static allotment of ids in the current design. When the
    object is used the second time, the physical address of the first
    assignment is relinquished and a second one granted. However, the
    hardware is still reading (and possibly writing) to the old physical
    address now returned to the system. Eventually hilarity will ensue, but
    in the short term, it just means that cursors are broken when using more
    than one pipe.

    v2: Fix up leak of pci handle when handling an error during attachment,
    and avoid a double kmap/kunmap. (Ville)
    Rebase against -fixes.

    v3: And fix the error handling added in v2 (Ville)

    Bugzilla: <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO --- - [855GM] Mouse cursors show wrong default black cursors and/or do not update correctly"
   href="show_bug.cgi?id=77351">https://bugs.freedesktop.org/show_bug.cgi?id=77351</a>
    Signed-off-by: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
    Cc: Ville Syrjälä <<a href="mailto:ville.syrjala@linux.intel.com">ville.syrjala@linux.intel.com</a>>
    Cc: Jani Nikula <<a href="mailto:jani.nikula@linux.intel.com">jani.nikula@linux.intel.com</a>>
    Cc: <a href="mailto:stable@vger.kernel.org">stable@vger.kernel.org</a>
    Reviewed-by: Ville Syrjälä <<a href="mailto:ville.syrjala@linux.intel.com">ville.syrjala@linux.intel.com</a>>
    Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>


==Bug detailed description==
-----------------------------
igt/kms_flip/modeset-vs-vblank-race-interruptible fails

Output:
./kms_flip --run-subtest modeset-vs-vblank-race-interruptible
IGT-Version: 1.6-gc75dcbd (x86_64) (Linux:
3.15.0-rc5_drm-intel-fixes_f93e94_20140522+ x86_64)
Using monotonic timestamps
Beginning modeset-vs-vblank-race-interruptible on crtc 5, connector 21
  1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x40 154000
...........
modeset-vs-vblank-race-interruptible on crtc 5, connector 21: PASSED

Beginning modeset-vs-vblank-race-interruptible on crtc 8, connector 21
  1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x40 154000
Test assertion failure function run_test_step, file kms_flip.c:883:
Last errno: 22, Invalid argument
Failed assertion: __wait_for_vblank(TEST_VBLANK_BLOCK, o->pipe, 1, 0, &reply)
== 0
Subtest modeset-vs-vblank-race-interruptible: FAIL


==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible</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>