[Intel-gfx] [PATCH] drm/i915/cnl: Avoid WA_SET_BIT_MASK on write-only CNL_HDC_CHICKEN0.
Oscar Mateo
oscar.mateo at intel.com
Wed Sep 27 21:08:10 UTC 2017
On 09/27/2017 02:01 PM, Rodrigo Vivi wrote:
> On CNL, HDC_CHICKEN0 "is write-only from LRI command.
> However, it is readable for context save."
>
> So we have no ways to check the coherency by reading it back on
> our tests.
>
> So let's just write that bit directly without saving it to
> dev_priv->workarounds.
Wait, it's not that simple: CNL_HDC_CHICKEN0 lives in the context image,
so you are going to revert the value as soon as you restore the next
context (you want to save it in dev_priv->workarounds so that
intel_ring_workarounds_emit applies it to every newly created context).
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102943
> Fixes: acfb5554c769 ("drm/i915/cnl: WaForceContextSaveRestoreNonCoherent")
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Cc: Oscar Mateo <oscar.mateo at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/i915/intel_engine_cs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index a28e2a864cf1..047ba0a0308d 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -1251,8 +1251,8 @@ static int cnl_init_workarounds(struct intel_engine_cs *engine)
> GAMT_CHKN_DISABLE_I2M_CYCLE_ON_WR_PORT));
>
> /* WaForceContextSaveRestoreNonCoherent:cnl */
> - WA_SET_BIT_MASKED(CNL_HDC_CHICKEN0,
> - HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
> + I915_WRITE(CNL_HDC_CHICKEN0,
> + _MASKED_BIT_ENABLE(HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT));
>
> /* WaThrottleEUPerfToAvoidTDBackPressure:cnl(pre-prod) */
> if (IS_CNL_REVID(dev_priv, CNL_REVID_B0, CNL_REVID_B0))
More information about the Intel-gfx
mailing list