All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] i915 clear-residuals BYT + IVB rendering issue + possible fix
@ 2021-05-12 10:06 Hans de Goede
  2021-05-12 12:18 ` Ville Syrjälä
  2021-05-12 12:42 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
  0 siblings, 2 replies; 4+ messages in thread
From: Hans de Goede @ 2021-05-12 10:06 UTC (permalink / raw)
  To: intel-gfx

Hi All,

We (Fedora) received a bug-report about rendering issues
on BYT and IVB caused by the i915 clear-residuals work
which landed in 5.10.y :

The Fedora bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1959581

Points to these i915 bugs:
https://gitlab.freedesktop.org/drm/intel/-/issues/3071
https://gitlab.freedesktop.org/drm/intel/-/issues/3081#note_890606

With the second link containing a possible fix which looks promising
if someone can take a look at this, then that would be great:

diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
index de575fdb0..054a0f5b8 100644
--- a/drivers/gpu/drm/i915/gt/gen7_renderclear.c
+++ b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
@@ -397,7 +397,7 @@ static void emit_batch(struct i915_vma * const vma,
        gen7_emit_pipeline_invalidate(&cmds);
        batch_add(&cmds, MI_LOAD_REGISTER_IMM(2));
        batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_0_GEN7));
-       batch_add(&cmds, 0xffff0000);
+       batch_add(&cmds, 0xfffb0000);
        batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_1));
        batch_add(&cmds, 0xffff0000 | PIXEL_SUBSPAN_COLLECT_OPT_DISABLE);
        gen7_emit_pipeline_invalidate(&cmds);

Note the:
https://gitlab.freedesktop.org/drm/intel/-/issues/3081#note_890606

Link contains details about the what and why of this change.

Regards,

Hans

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Intel-gfx] i915 clear-residuals BYT + IVB rendering issue + possible fix
  2021-05-12 10:06 [Intel-gfx] i915 clear-residuals BYT + IVB rendering issue + possible fix Hans de Goede
@ 2021-05-12 12:18 ` Ville Syrjälä
  2021-05-12 12:34   ` Hans de Goede
  2021-05-12 12:42 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
  1 sibling, 1 reply; 4+ messages in thread
From: Ville Syrjälä @ 2021-05-12 12:18 UTC (permalink / raw)
  To: Hans de Goede; +Cc: intel-gfx

On Wed, May 12, 2021 at 12:06:23PM +0200, Hans de Goede wrote:
> Hi All,
> 
> We (Fedora) received a bug-report about rendering issues
> on BYT and IVB caused by the i915 clear-residuals work
> which landed in 5.10.y :
> 
> The Fedora bug:
> https://bugzilla.redhat.com/show_bug.cgi?id=1959581
> 
> Points to these i915 bugs:
> https://gitlab.freedesktop.org/drm/intel/-/issues/3071
> https://gitlab.freedesktop.org/drm/intel/-/issues/3081#note_890606
> 
> With the second link containing a possible fix which looks promising
> if someone can take a look at this, then that would be great:
> 
> diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> index de575fdb0..054a0f5b8 100644
> --- a/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> +++ b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> @@ -397,7 +397,7 @@ static void emit_batch(struct i915_vma * const vma,
>         gen7_emit_pipeline_invalidate(&cmds);
>         batch_add(&cmds, MI_LOAD_REGISTER_IMM(2));
>         batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_0_GEN7));
> -       batch_add(&cmds, 0xffff0000);
> +       batch_add(&cmds, 0xfffb0000);
>         batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_1));
>         batch_add(&cmds, 0xffff0000 | PIXEL_SUBSPAN_COLLECT_OPT_DISABLE);
>         gen7_emit_pipeline_invalidate(&cmds);
> 
> Note the:
> https://gitlab.freedesktop.org/drm/intel/-/issues/3081#note_890606
> 
> Link contains details about the what and why of this change.

There's a patch on the list already
https://patchwork.freedesktop.org/patch/431109/?series=89502&rev=1

I suppose it needs a s/IVB_GT1/IVB/ to be consistent with the current
w/a setup. Other than that it seems correct.

But I still don't understand how it fixes rendering corruption.

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Intel-gfx] i915 clear-residuals BYT + IVB rendering issue + possible fix
  2021-05-12 12:18 ` Ville Syrjälä
@ 2021-05-12 12:34   ` Hans de Goede
  0 siblings, 0 replies; 4+ messages in thread
From: Hans de Goede @ 2021-05-12 12:34 UTC (permalink / raw)
  To: Ville Syrjälä, Simon Rettberg; +Cc: intel-gfx

Hi,

On 5/12/21 2:18 PM, Ville Syrjälä wrote:
> On Wed, May 12, 2021 at 12:06:23PM +0200, Hans de Goede wrote:
>> Hi All,
>>
>> We (Fedora) received a bug-report about rendering issues
>> on BYT and IVB caused by the i915 clear-residuals work
>> which landed in 5.10.y :
>>
>> The Fedora bug:
>> https://bugzilla.redhat.com/show_bug.cgi?id=1959581
>>
>> Points to these i915 bugs:
>> https://gitlab.freedesktop.org/drm/intel/-/issues/3071
>> https://gitlab.freedesktop.org/drm/intel/-/issues/3081#note_890606
>>
>> With the second link containing a possible fix which looks promising
>> if someone can take a look at this, then that would be great:
>>
>> diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
>> index de575fdb0..054a0f5b8 100644
>> --- a/drivers/gpu/drm/i915/gt/gen7_renderclear.c
>> +++ b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
>> @@ -397,7 +397,7 @@ static void emit_batch(struct i915_vma * const vma,
>>         gen7_emit_pipeline_invalidate(&cmds);
>>         batch_add(&cmds, MI_LOAD_REGISTER_IMM(2));
>>         batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_0_GEN7));
>> -       batch_add(&cmds, 0xffff0000);
>> +       batch_add(&cmds, 0xfffb0000);
>>         batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_1));
>>         batch_add(&cmds, 0xffff0000 | PIXEL_SUBSPAN_COLLECT_OPT_DISABLE);
>>         gen7_emit_pipeline_invalidate(&cmds);
>>
>> Note the:
>> https://gitlab.freedesktop.org/drm/intel/-/issues/3081#note_890606
>>
>> Link contains details about the what and why of this change.
> 
> There's a patch on the list already
> https://patchwork.freedesktop.org/patch/431109/?series=89502&rev=1

So that was posted 2 weeks ago; and we (Fedora) have had several bug reports
about firefox rendering corruption on BYT + IVB machines, ever since the
i915 clear-residuals changes landed in 5.10.y, I took action on this last
one since now their seems to be a clear fix.

> I suppose it needs a s/IVB_GT1/IVB/ to be consistent with the current
> w/a setup. Other than that it seems correct.
> 
> But I still don't understand how it fixes rendering corruption.

You mean the remark about how the change should not impact other
rendering contexts? I guess it may be global, rcs_engine_wa_init()
which does not sound like it is a per context function, but I could
very well be wrong, has this:

        if (IS_IVYBRIDGE(i915)) {
                /* WaDisableEarlyCull:ivb */
                wa_masked_en(wal,
                             _3D_CHICKEN3,
                             _3D_CHICKEN_SF_DISABLE_OBJEND_CULL);

                if (0) { /* causes HiZ corruption on ivb:gt1 */
                        /* enable HiZ Raw Stall Optimization */
                        wa_masked_dis(wal,
                                      CACHE_MODE_0_GEN7,
                                      HIZ_RAW_STALL_OPT_DISABLE);
                }
		...

Notice how the comment explictly says that disabling the
HIZ_RAW_STALL_OPT_DISABLE (thus enabling the opt) is known to
cause HiZ corruption, so that at least explains why this bit
matters.  Maybe the bug is such that triggering it from with the
clear-residuals context also impacts other contexts?

And as I already said this is a regression which has been biting Fedora
users for a while now and the fix obviously seems correct given the
above comment which I quoted, so can we please get this merged ?

Regards,

Hans

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for i915 clear-residuals BYT + IVB rendering issue + possible fix
  2021-05-12 10:06 [Intel-gfx] i915 clear-residuals BYT + IVB rendering issue + possible fix Hans de Goede
  2021-05-12 12:18 ` Ville Syrjälä
@ 2021-05-12 12:42 ` Patchwork
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2021-05-12 12:42 UTC (permalink / raw)
  To: Hans de Goede; +Cc: intel-gfx

== Series Details ==

Series: i915 clear-residuals BYT + IVB rendering issue + possible fix
URL   : https://patchwork.freedesktop.org/series/90062/
State : failure

== Summary ==

Applying: i915 clear-residuals BYT + IVB rendering issue + possible fix
error: patch failed: drivers/gpu/drm/i915/gt/gen7_renderclear.c:397
error: drivers/gpu/drm/i915/gt/gen7_renderclear.c: patch does not apply
error: Did you hand edit your patch?
It does not apply to blobs recorded in its index.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Using index info to reconstruct a base tree...
Patch failed at 0001 i915 clear-residuals BYT + IVB rendering issue + possible fix
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-12 12:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-12 10:06 [Intel-gfx] i915 clear-residuals BYT + IVB rendering issue + possible fix Hans de Goede
2021-05-12 12:18 ` Ville Syrjälä
2021-05-12 12:34   ` Hans de Goede
2021-05-12 12:42 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.