[Intel-gfx] [PATCH 1/4] drm/i915/bdw: Implement non-coherent ctx w/a

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Feb 2 04:33:48 PST 2015


On Thu, Jan 08, 2015 at 07:59:10PM -0800, Ben Widawsky wrote:
> Implements a required workaround whose implications aren't entirely clear to me
> from the description. In particular I do not know if this effects legacy
> contexts, execlists, or both.
> 
> I couldn't find a real workaround name, so I made up:
> WaHdcCtxNonCoherent

I don't think we want to make up w/a names. Might cause someone to
conclude that the w/a is no longer needed if they can't find the
name in the w/a database or bspec. So maybe just add a small quote from
bspec, or leave it without explanation forcing people to check bspec
if they want to find out why it's there.

I suppose one option would be to add a private namespace for our made
up w/a names. But I don't really see a point in making up w/a names
if we don't have a some documentation telling people what those names
actually mean.

So with the made up w/a name removed:
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> 
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
>  drivers/gpu/drm/i915/i915_reg.h         | 5 +++--
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 0f32fd1a..dabac96 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5219,9 +5219,10 @@ enum punit_power_well {
>  
>  /* GEN8 chicken */
>  #define HDC_CHICKEN0				0x7300
> -#define  HDC_FORCE_NON_COHERENT			(1<<4)
> -#define  HDC_DONOT_FETCH_MEM_WHEN_MASKED	(1<<11)
>  #define  HDC_FENCE_DEST_SLM_DISABLE		(1<<14)
> +#define  HDC_DONOT_FETCH_MEM_WHEN_MASKED	(1<<11)
> +#define  HDC_FORCE_CTX_NON_COHERENT		(1<<5)
> +#define  HDC_FORCE_NON_COHERENT			(1<<4)
>  
>  /* WaCatErrorRejectionIssue */
>  #define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG		0x9030
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 12a36f0..62318a4 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -790,8 +790,10 @@ static int bdw_init_workarounds(struct intel_engine_cs *ring)
>  	 */
>  	/* WaForceEnableNonCoherent:bdw */
>  	/* WaHdcDisableFetchWhenMasked:bdw */
> +	/* WaHdcCtxNonCoherent:bdw */
>  	/* WaDisableFenceDestinationToSLM:bdw (GT3 pre-production) */
>  	WA_SET_BIT_MASKED(HDC_CHICKEN0,
> +			  HDC_FORCE_CTX_NON_COHERENT |
>  			  HDC_FORCE_NON_COHERENT |
>  			  HDC_DONOT_FETCH_MEM_WHEN_MASKED |
>  			  (IS_BDW_GT3(dev) ? HDC_FENCE_DEST_SLM_DISABLE : 0));
> -- 
> 2.2.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list