[Intel-gfx] [PATCH] drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7

Simon Rettberg simon.rettberg at rz.uni-freiburg.de
Tue May 18 08:30:25 UTC 2021


Am Thu, 13 May 2021 07:30:17 -0400
schrieb Rodrigo Vivi <rodrigo.vivi at intel.com>:

> On Thu, May 13, 2021 at 10:18:49AM +1000, Dave Airlie wrote:
> > Reviewed-by: Dave Airlie <airlied at redhat.com>
> > 
> > Can we get this fix in, having a regression spanning 3 kernels
> > isn't a good look, we can work out why it matters later in life if
> > anyone cares.  
> 
> Agreed and pushed do drm-intel-next.

What's the status here? I can't seem to find the fix in drm-intel-next.

- Simon

> 
> This triggered me to do an archeology work here and I found a possible
> alternative for ILK:
> 
> +#define   HIZ_UNIT_CLOCK_GATE_DISABLE  REG_BIT(5)
>  
>  #define FDI_PLL_FREQ_CTL        _MMIO(0x46030)
>  #define  FDI_PLL_FREQ_CHANGE_REQUEST    (1 << 24)
> diff --git a/drivers/gpu/drm/i915/intel_pm.c
> b/drivers/gpu/drm/i915/intel_pm.c index 06d5b7cc8b62..6316b70978f7
> 100644 --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -6892,8 +6892,11 @@ static void ilk_init_clock_gating(struct
> drm_i915_private *dev_priv) intel_uncore_write(&dev_priv->uncore,
> PCH_3DCGDIS0, MARIUNIT_CLOCK_GATE_DISABLE |
>                    SVSMUNIT_CLOCK_GATE_DISABLE);
> +
> +       /* WaDisableHizUnitClockGating:ilk */
>         intel_uncore_write(&dev_priv->uncore, PCH_3DCGDIS1,
> -                  VFMUNIT_CLOCK_GATE_DISABLE);
> +                  VFMUNIT_CLOCK_GATE_DISABLE |
> +                  HIZ_UNIT_CLOCK_GATE_DISABLE);
> 
> however I couldn't find anything for Baytrail, so let's move with this
> one for now.
> 
> > 
> > Dave.
> > 
> > On Tue, 27 Apr 2021 at 00:31, Simon Rettberg
> > <simon.rettberg at rz.uni-freiburg.de> wrote:  
> > >
> > > When resetting CACHE_MODE registers, don't enable HiZ Raw Stall
> > > Optimization on Ivybridge GT1 and Baytrail, as it causes severe
> > > glitches when rendering any kind of 3D accelerated content.
> > > This optimization is disabled on these platforms by default
> > > according to official documentation from 01.org.
> > >
> > > Fixes: ef99a60ffd9b ("drm/i915/gt: Clear CACHE_MODE prior to
> > > clearing residuals") Fixes: 520d05a77b28 ("drm/i915/gt: Clear
> > > CACHE_MODE prior to clearing residuals") BugLink:
> > > https://gitlab.freedesktop.org/drm/intel/-/issues/3081 BugLink:
> > > https://gitlab.freedesktop.org/drm/intel/-/issues/3404 BugLink:
> > > https://gitlab.freedesktop.org/drm/intel/-/issues/3071
> > > Reviewed-By: Manuel Bentele <development at manuel-bentele.de>
> > > Signed-off-by: Simon Rettberg <simon.rettberg at rz.uni-freiburg.de>
> > > --- drivers/gpu/drm/i915/gt/gen7_renderclear.c | 5 ++++-
> > >  1 file changed, 4 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> > > b/drivers/gpu/drm/i915/gt/gen7_renderclear.c index
> > > de575fdb0..21f08e538 100644 ---
> > > a/drivers/gpu/drm/i915/gt/gen7_renderclear.c +++
> > > b/drivers/gpu/drm/i915/gt/gen7_renderclear.c @@ -397,7 +397,10 @@
> > > 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, 0xffff0000 |
> > > +                       ((IS_IVB_GT1(i915) ||
> > > IS_VALLEYVIEW(i915)) ?
> > > +                        HIZ_RAW_STALL_OPT_DISABLE :
> > > +                        0));
> > >         batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_1));
> > >         batch_add(&cmds, 0xffff0000 |
> > > PIXEL_SUBSPAN_COLLECT_OPT_DISABLE);
> > > gen7_emit_pipeline_invalidate(&cmds); --
> > > 2.25.1
> > >
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx  
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx  



More information about the Intel-gfx mailing list