<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [SNB+]igt/drv_getparams fails"
href="https://bugs.freedesktop.org/show_bug.cgi?id=89669">89669</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[SNB+]igt/drv_getparams fails
</td>
</tr>
<tr>
<th>Product</th>
<td>DRI
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>All
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>DRM/Intel
</td>
</tr>
<tr>
<th>Assignee</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>huax.lu@intel.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>CC</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=114457" name="attach_114457" title="dmesg">attachment 114457</a> <a href="attachment.cgi?id=114457&action=edit" title="dmesg">[details]</a></span>
dmesg
==System Environment==
--------------------------
Regression: not sure, new case
==kernel==
--------------------------
drm-intel-fixes/319c1d420a0b62d9dbb88104afebaabc968cdbfa
commit 319c1d420a0b62d9dbb88104afebaabc968cdbfa
Author: Xi Ruoyao <<a href="mailto:xry111@outlook.com">xry111@outlook.com</a>>
Date: Thu Mar 12 20:16:32 2015 +0800
drm/i915: Ensure plane->state->fb stays in sync with plane->fb
plane->state->fb and plane->fb should always reference the same FB so
that atomic and legacy codepaths have the same view of display state.
However, there are some places in kernel code that directly set
plane->fb and neglect to update plane->state->fb. If we never do a
successful update through the atomic pipeline, the RmFB cleanup code
will look at the plane->state->fb pointer, which has never actually
been set to a legitimate value, and try to clean it up, leading to
BUG's.
Add a quick helper function to synchronize plane->state->fb with
plane->fb and call it everywhere the driver tries to manually set
plane->fb outside of the atomic pipeline. In this function, use
drm_atomic_set_fb_for_plane instead of writing plane->state->fb
directly to keep the reference count right.
==Bug detailed description==
-----------------------------
It fails on drm-intel-fixes kernel, works well on drm-intel-nightly kernel.
output:
IGT-Version: 1.10-ga172676 (x86_64) (Linux:
4.0.0-rc4_drm-intel-fixes_319c1d_20150317+ x86_64)
Test assertion failure function eu_total, file drv_getparams.c:127:
Failed assertion: ret == -19
Last errno: 22, Invalid argument
error: -22 != -19
Subtest eu-total failed.
**** DEBUG ****
Test assertion failure function eu_total, file drv_getparams.c:127:
Failed assertion: ret == -19
Last errno: 22, Invalid argument
error: -22 != -19
**** END ****
Subtest eu-total: FAIL (0.000s)
==Reproduce steps==
----------------------------
1. ./drv_getparams --run-subtest eu-total</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>