Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> On Wed, Jan 22, 2014 at 5:33 PM, <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > BSpec states that the thread override values set by > gen7_setup_fixed_func_scheduler() are invalid for HSW. So let's not > muck around with them. > > Since gen7_setup_fixed_func_scheduler() now has two totally independent > parts, one for IVB and one for HSW, move the HSW part directly into > haswell_init_clock_gating(). > > Note tht there's another workaround by the name of > WaHSWVSRefCountFullforceMissDisable which basically claims that later > steppings don't need the fix, but since WaVSRefCountFullforceMissDisable > is listed to be needed for all steppings play it safe and keep applying > the workaround. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_pm.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 766bc8a..376a52e 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -4655,7 +4655,7 @@ static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv) > uint32_t reg = I915_READ(GEN7_FF_THREAD_MODE); > > /* > - * WaVSThreadDispatchOverride:ivb,hsw > + * WaVSThreadDispatchOverride:ivb > * > * This actually overrides the dispatch > * mode for all thread types. > @@ -4665,10 +4665,6 @@ static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv) > reg |= GEN7_FF_VS_SCHED_HW; > reg |= GEN7_FF_DS_SCHED_HW; > > - /* WaVSRefCountFullforceMissDisable:hsw */ > - if (IS_HASWELL(dev_priv->dev)) > - reg &= ~GEN7_FF_VS_REF_CNT_FFME; > - > I915_WRITE(GEN7_FF_THREAD_MODE, reg); > } > > @@ -4779,7 +4775,9 @@ static void haswell_init_clock_gating(struct drm_device *dev) > I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) | > GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB); > > - gen7_setup_fixed_func_scheduler(dev_priv); > + /* WaVSRefCountFullforceMissDisable:hsw */ > + I915_WRITE(GEN7_FF_THREAD_MODE, > + I915_READ(GEN7_FF_THREAD_MODE) & ~GEN7_FF_VS_REF_CNT_FFME); > > /* WaDisable4x2SubspanOptimization:hsw */ > I915_WRITE(CACHE_MODE_1, > -- > 1.8.3.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Rodrigo Vivi Blog: http://blog.vivi.eng.br _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx