[Intel-gfx] [PATCH 04/12] drm/i915/gen9: Merge HALF_SLICE_CHICKEN3 WA

Daniel Vetter daniel at ffwll.ch
Mon Sep 28 06:56:56 PDT 2015


On Mon, Sep 28, 2015 at 11:47:06AM +0300, Jani Nikula wrote:
> On Fri, 25 Sep 2015, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> > On Fri, Sep 25, 2015 at 02:33:38PM +0100, Arun Siluvery wrote:
> >> Merge WaDisableSamplerPowerBypassForSOPingPong and another WA which has no name
> >> as they are part of same register. This will save an entry in WA array.
> >> 
> >> Signed-off-by: Arun Siluvery <arun.siluvery at linux.intel.com>
> >> ---
> >>  drivers/gpu/drm/i915/intel_ringbuffer.c | 18 ++++++++----------
> >>  1 file changed, 8 insertions(+), 10 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >> index ad16ef4..963b3ca 100644
> >> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >> @@ -914,9 +914,14 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> >>  	WA_SET_BIT_MASKED(GEN8_ROW_CHICKEN,
> >>  			  PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE);
> >>  
> >> -	/* Syncing dependencies between camera and graphics:skl,bxt */
> >> -	WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3,
> >> -			  GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC);
> >> +	/* WA: Syncing dependencies between camera and graphics:skl,bxt */
> >> +	/* WaDisableSamplerPowerBypassForSOPingPong:skl,bxt */
> >> +	tmp = GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC;
> >> +	if (IS_SKYLAKE(dev) ||
> >> +	    (IS_BROXTON(dev) && INTEL_REVID(dev) <= BXT_REVID_B0)) {
> >> +		tmp |= GEN8_SAMPLER_POWER_BYPASS_DIS;
> >> +	}
> >> +	WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3, tmp);
> >
> > I really dislike these platform+stepping checks in the shared codepath.
> > If there's any difference between the platforms, IMO the w/a should go into
> > the per-platform function.
> 
> Agreed, also on a more generic level than these specific functions.

Concurred, sharing code just to reduce the line count is a bad idea, code
should only be shared if it actually does the same thing. Better to be
verbose than accidentally break things.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list