<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body dir="auto">
<div></div>
<div><br>
</div>
<div><br>
On Jan 4, 2018, at 10:07 PM, Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div><span>On Thursday, January 4, 2018 4:41:35 PM PST Rodrigo Vivi wrote:</span><br>
<blockquote type="cite"><span>On Thu, Jan 04, 2018 at 11:39:23PM +0000, Kenneth Graunke wrote:</span><br>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>On Thursday, January 4, 2018 1:23:06 PM PST Chris Wilson wrote:</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Quoting Kenneth Graunke (2018-01-04 19:38:05)</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Geminilake requires the 3D driver to select whether barriers are</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>intended for compute shaders, or tessellation control shaders, by</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>whacking a "Barrier Mode" bit in SLICE_COMMON_ECO_CHICKEN1 when</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>switching pipelines.  Failure to do this properly can result in GPU</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>hangs.</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Unfortunately, this means it needs to switch mid-batch, so only</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>userspace can properly set it.  To facilitate this, the kernel needs</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>to whitelist the register.</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Signed-off-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Cc: <a href="mailto:stable@vger.kernel.org">stable@vger.kernel.org</a></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>---</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>drivers/gpu/drm/i915/i915_reg.h        | 2 ++</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>drivers/gpu/drm/i915/intel_engine_cs.c | 5 +++++</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>2 files changed, 7 insertions(+)</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Hello,</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>We unfortunately need to whitelist an extra register for GPU hang fix</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>on Geminilake.  Here's the corresponding Mesa patch:</span><br>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>Thankfully it appears to be context saved. Has a w/a name been assigned</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>for this?</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite"><span>-Chris</span><br>
</blockquote>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span></span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>There doesn't appear to be one.  The workaround page lists it, but there</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>is no name.  The register description has a note saying that you need to</span><br>
</blockquote>
</blockquote>
<blockquote type="cite">
<blockquote type="cite"><span>set this, but doesn't call it out as a workaround.</span><br>
</blockquote>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>It mentions only BXT:ALL, but not mention to GLK.</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>Should we add to both then?</span><br>
</blockquote>
<span></span><br>
<span>Well, that's irritating.</span></div>
</blockquote>
<div><br>
</div>
Indeed. As always :)
<div><br>
<blockquote type="cite">
<div><span> On the workarounds page, it does indeed say</span><br>
<span>"BXT" with no mention of GLK.  But the workaround text says to set</span><br>
<span>"SLICE_COMMON_CHICKEN_ECO1 Barrier Mode [...] (bit 7 of MMIO 0x731C)."</span><br>
<span></span><br>
<span>Looking at the register definition for SLICE_COMMON_ECO_CHICKEN1, bit 7</span><br>
<span>is "Barrier Mode" on [GLK] only, with no mention of BXT.  It's marked</span><br>
<span>reserved PBC on [SKL+, not GLK, not KBL].  On KBL it's something else.</span><br>
</div>
</blockquote>
<div><br>
</div>
<div>I have no ways to check this bit right now, </div>
<div>But your explanation makes sense so I agree with you...</div>
<div>Acked-by: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>></div>
<br>
<blockquote type="cite">
<div><span></span><br>
<span>I believe Mark saw hangs in tessellation control shader hangs on</span><br>
<span>Geminilake only, and never saw this issue on Broxton.  So, my guess is</span><br>
<span>that the workaround really is new on Geminilake, and the BXT tag on the</span><br>
<span>workarounds page is incorrect.  (Mark, does that sound right to you?)</span><br>
</div>
</blockquote>
<div><br>
</div>
<div>Probably worth a mention on comment or commit msg?!</div>
<br>
<blockquote type="cite">
<div><span></span><br>
<blockquote type="cite">
<blockquote type="cite"><span>That's why I put a generic comment, rather than the name.</span><br>
</blockquote>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>On Display side we started using the row name for this case, to help</span><br>
</blockquote>
<blockquote type="cite"><span>easily finding this later.</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>ex: "Display WA #0390: skl,kbl"</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>The number for this apparently is:</span><br>
</blockquote>
<blockquote type="cite"><span>WA #0862</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>Maybe we could use this one to start</span><br>
</blockquote>
<blockquote type="cite"><span>/* GT WA #0862: bxt,glk */</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>GT? GEM?</span><br>
</blockquote>
<blockquote type="cite"><span>Unnamed WA #0862?</span><br>
</blockquote>
<span></span><br>
<span>Including #0862 seems like a good idea.  I'm happy to change the comment</span><br>
<span>to whatever you'd prefer.</span><br>
</div>
</blockquote>
<div><br>
</div>
<div>Leave your comment and add WA #0862...</div>
<div>If later we define a standardized style we come back and change this.</div>
<div><br>
</div>
<div>Thanks </div>
<div>Rodrigo</div>
<br>
<blockquote type="cite">
<div><span></span><br>
<span>--Ken</span><br>
</div>
</blockquote>
</div>
</body>
</html>