<div dir="ltr"><div>I was going to ask the status of this and then I looked and realized that I never provided a commit message blrub. Oops. Here you go:</div><div><br></div><div>On Broadwell, the sampler was changed to not require extra padding for simple (no arrays, mipmapping, or MSAA) 1D, 2D, and buffer surfaces. Setting the GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC bit in HALF_SLICE_CHICKEN3 disables this and reverts the hardware to the HSW-era behaviour where the sampler over-fetches near the edges of the surface. While the over-fetch does not cause faults due to the scratch page, it still means that more data than needed is getting pulled into the sampler cache. If the over-fetch from the sampler on a BUFFER surface leaks over into an atomic on the L3$, hangs can occur.</div><div><br></div><div>Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=110228">https://bugs.freedesktop.org/show_bug.cgi?id=110228</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 8, 2019 at 11:35 PM Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div>
<div dir="auto">
<div dir="auto">Also, I think we can provide a better commit message. I'll type something in the morning when I can actually look stuff up and provide correct references.</div><div dir="auto"><br></div>
<div id="gmail-m_-6259061499944170341aqm-original" style="color:black">
<div class="gmail-m_-6259061499944170341aqm-original-body">
<div style="color:black">
<p style="color:black;font-size:10pt;font-family:sans-serif;margin:8pt 0px">On August 8, 2019 12:33:15 Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>> wrote:</p>
<blockquote type="cite" class="gmail_quote" style="margin:0px 0px 0px 0.75ex;border-left:1px solid rgb(128,128,128);padding-left:0.75ex">
<div dir="ltr">Note: This doesn't actually fix 110998. I can still get a hard-hang with a slightly different version of the reproducer example. However, it does fix the original and I suspect it will fix the UE4 editor hang in 110228<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 8, 2019 at 12:30 PM Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>This is consistent with what the Windows driver does and what I've heard from HW people.</div><div><br></div><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 8, 2019 at 11:36 AM Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk" target="_blank">chris@chris-wilson.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This bit was fliped on for "syncing dependencies between camera and<br>
graphics". BSpec has no recollection why, and it is causing<br>
unrecoverable GPU hangs with Vulkan compute workloads.<br>
<br>
>From BSpec, setting bit5 to 0 enables relaxed padding requiremets for<br>
buffers, 1D and 2D non-array, non-MSAA, non-mip-mapped linear surfaces;<br>
and *must* be set to 0h on skl+ to ensure "Out of Bounds" case is<br>
suppressed.<br>
<br>
Reported-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br>
Suggested-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=110998" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=110998</a><br>
Fixes: 8424171e135c ("drm/i915/gen9: h/w w/a: syncing dependencies between camera and graphics")<br>
Signed-off-by: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk" target="_blank">chris@chris-wilson.co.uk</a>><br>
Cc: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br>
Cc: Mika Kuoppala <<a href="mailto:mika.kuoppala@linux.intel.com" target="_blank">mika.kuoppala@linux.intel.com</a>><br>
Cc: <<a href="mailto:stable@vger.kernel.org" target="_blank">stable@vger.kernel.org</a>> # v4.1+<br>
---<br>
drivers/gpu/drm/i915/gt/intel_workarounds.c | 5 -----<br>
1 file changed, 5 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c<br>
index 704ace01e7f5..b95c1d59a347 100644<br>
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c<br>
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c<br>
@@ -297,11 +297,6 @@ static void gen9_ctx_workarounds_init(struct intel_engine_cs *engine,<br>
FLOW_CONTROL_ENABLE |<br>
PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE);<br>
<br>
- /* Syncing dependencies between camera and graphics:skl,bxt,kbl */<br>
- if (!IS_COFFEELAKE(i915))<br>
- WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3,<br>
- GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC);<br>
-<br>
/* WaEnableYV12BugFixInHalfSliceChicken7:skl,bxt,kbl,glk,cfl */<br>
/* WaEnableSamplerGPGPUPreemptionSupport:skl,bxt,kbl,cfl */<br>
WA_SET_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN7,<br>
-- <br>
2.23.0.rc1<br>
<br>
</blockquote></div>
</blockquote></div>
</blockquote>
</div>
</div>
</div><div dir="auto"><br></div>
</div></div>
</blockquote></div></div>