<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span> changed
<a class="bz_bug_link
bz_status_CLOSED bz_closed"
title="CLOSED FIXED - [IGT][CNL Only] igt@debugfs_test@read_all_entries dmesg-warn WARN_ON_ONCE(mcr & ((((3) & 3) << 26) | (((3) & 3) << 24)))"
href="https://bugs.freedesktop.org/show_bug.cgi?id=104982">bug 104982</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>INVALID
</td>
<td>FIXED
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_CLOSED bz_closed"
title="CLOSED FIXED - [IGT][CNL Only] igt@debugfs_test@read_all_entries dmesg-warn WARN_ON_ONCE(mcr & ((((3) & 3) << 26) | (((3) & 3) << 24)))"
href="https://bugs.freedesktop.org/show_bug.cgi?id=104982#c14">Comment # 14</a>
on <a class="bz_bug_link
bz_status_CLOSED bz_closed"
title="CLOSED FIXED - [IGT][CNL Only] igt@debugfs_test@read_all_entries dmesg-warn WARN_ON_ONCE(mcr & ((((3) & 3) << 26) | (((3) & 3) << 24)))"
href="https://bugs.freedesktop.org/show_bug.cgi?id=104982">bug 104982</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>commit 1e40d4aea57bbbd277777dd1fe18599dd77c55ab
Author: Yunwei Zhang <<a href="mailto:yunwei.zhang@intel.com">yunwei.zhang@intel.com</a>>
Date: Fri May 18 15:39:57 2018 -0700
drm/i915/cnl: Implement WaProgramMgsrForCorrectSliceSpecificMmioReads
WaProgramMgsrForCorrectSliceSpecificMmioReads dictate that before any MMIO
read into Slice/Subslice specific registers, MCR packet control
register(0xFDC) needs to be programmed to point to any enabled
slice/subslice pair. Otherwise, incorrect value will be returned.
However, that means each subsequent MMIO read will be forwarded to a
specific slice/subslice combination as read is unicast. This is OK since
slice/subslice specific register values are consistent in almost all cases
across slice/subslice. There are rare occasions such as INSTDONE that this
value will be dependent on slice/subslice combo, in such cases, we need to
program 0xFDC and recover this after. This is already covered by
read_subslice_reg.
Also, 0xFDC will lose its information after TDR/engine reset/power state
change.
References: HSD#1405586840, BSID#0575</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>