[Intel-gfx] [PATCH] drm/i915: Restore relaxed padding (OCL_OOB_SUPPRES_ENABLE) for skl+

Jason Ekstrand jason at jlekstrand.net
Wed Aug 14 18:40:41 UTC 2019


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:

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.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110228

On Thu, Aug 8, 2019 at 11:35 PM Jason Ekstrand <jason at jlekstrand.net> wrote:

> 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.
>
> On August 8, 2019 12:33:15 Jason Ekstrand <jason at jlekstrand.net> wrote:
>
>> 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
>>
>> On Thu, Aug 8, 2019 at 12:30 PM Jason Ekstrand <jason at jlekstrand.net>
>> wrote:
>>
>>> This is consistent with what the Windows driver does and what I've heard
>>> from HW people.
>>>
>>> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
>>>
>>> On Thu, Aug 8, 2019 at 11:36 AM Chris Wilson <chris at chris-wilson.co.uk>
>>> wrote:
>>>
>>>> This bit was fliped on for "syncing dependencies between camera and
>>>> graphics". BSpec has no recollection why, and it is causing
>>>> unrecoverable GPU hangs with Vulkan compute workloads.
>>>>
>>>> From BSpec, setting bit5 to 0 enables relaxed padding requiremets for
>>>> buffers, 1D and 2D non-array, non-MSAA, non-mip-mapped linear surfaces;
>>>> and *must* be set to 0h on skl+ to ensure "Out of Bounds" case is
>>>> suppressed.
>>>>
>>>> Reported-by: Jason Ekstrand <jason at jlekstrand.net>
>>>> Suggested-by: Jason Ekstrand <jason at jlekstrand.net>
>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110998
>>>> Fixes: 8424171e135c ("drm/i915/gen9: h/w w/a: syncing dependencies
>>>> between camera and graphics")
>>>> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>>>> Cc: Jason Ekstrand <jason at jlekstrand.net>
>>>> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
>>>> Cc: <stable at vger.kernel.org> # v4.1+
>>>> ---
>>>>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 5 -----
>>>>  1 file changed, 5 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c
>>>> b/drivers/gpu/drm/i915/gt/intel_workarounds.c
>>>> index 704ace01e7f5..b95c1d59a347 100644
>>>> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
>>>> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
>>>> @@ -297,11 +297,6 @@ static void gen9_ctx_workarounds_init(struct
>>>> intel_engine_cs *engine,
>>>>                           FLOW_CONTROL_ENABLE |
>>>>                           PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE);
>>>>
>>>> -       /* Syncing dependencies between camera and graphics:skl,bxt,kbl
>>>> */
>>>> -       if (!IS_COFFEELAKE(i915))
>>>> -               WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3,
>>>> -                                 GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC);
>>>> -
>>>>         /* WaEnableYV12BugFixInHalfSliceChicken7:skl,bxt,kbl,glk,cfl */
>>>>         /* WaEnableSamplerGPGPUPreemptionSupport:skl,bxt,kbl,cfl */
>>>>         WA_SET_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN7,
>>>> --
>>>> 2.23.0.rc1
>>>>
>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190814/63d98187/attachment-0001.html>


More information about the Intel-gfx mailing list