* [PATCH 0/3] Tiger Lake: add workarounds
@ 2019-07-26 0:02 Lucas De Marchi
2019-07-26 0:02 ` [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds Lucas De Marchi
` (4 more replies)
0 siblings, 5 replies; 15+ messages in thread
From: Lucas De Marchi @ 2019-07-26 0:02 UTC (permalink / raw)
To: intel-gfx
Same patches as extracted from https://patchwork.freedesktop.org/series/63670/
and rebased.
Michel Thierry (3):
drm/i915/tgl: Introduce initial Tigerlake Workarounds
drm/i915/tgl: Implement Wa_1604555607
drm/i915/tgl: Implement Wa_1406941453
drivers/gpu/drm/i915/gt/intel_lrc.c | 2 +
drivers/gpu/drm/i915/gt/intel_workarounds.c | 52 +++++++++++++++++++--
drivers/gpu/drm/i915/i915_reg.h | 11 +++++
drivers/gpu/drm/i915/intel_pm.c | 4 +-
drivers/gpu/drm/i915/intel_uncore.c | 2 +-
5 files changed, 66 insertions(+), 5 deletions(-)
--
2.21.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds 2019-07-26 0:02 [PATCH 0/3] Tiger Lake: add workarounds Lucas De Marchi @ 2019-07-26 0:02 ` Lucas De Marchi 2019-08-12 22:29 ` Radhakrishna Sripada 2019-08-13 18:07 ` Radhakrishna Sripada 2019-07-26 0:02 ` [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 Lucas De Marchi ` (3 subsequent siblings) 4 siblings, 2 replies; 15+ messages in thread From: Lucas De Marchi @ 2019-07-26 0:02 UTC (permalink / raw) To: intel-gfx; +Cc: Michel Thierry From: Michel Thierry <michel.thierry@intel.com> Inherit workarounds from previous platforms that are still valid for Tigerlake. WaPipelineFlushCoherentLines:tgl (changed register but has same name) WaSendPushConstantsFromMMIO:tgl WaAllowUMDToModifySamplerMode:tgl WaRsForcewakeAddDelayForAck:tgl Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Michel Thierry <michel.thierry@intel.com> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> --- drivers/gpu/drm/i915/gt/intel_lrc.c | 2 ++ drivers/gpu/drm/i915/gt/intel_workarounds.c | 40 +++++++++++++++++++-- drivers/gpu/drm/i915/i915_reg.h | 3 ++ drivers/gpu/drm/i915/intel_pm.c | 4 ++- drivers/gpu/drm/i915/intel_uncore.c | 2 +- 5 files changed, 46 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index 884dfc1cb033..893c58df8be0 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -2069,6 +2069,8 @@ static int intel_init_workaround_bb(struct intel_engine_cs *engine) return 0; switch (INTEL_GEN(engine->i915)) { + case 12: + return 0; case 11: return 0; case 10: diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c index 704ace01e7f5..a6eb9c6e87ec 100644 --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c @@ -569,6 +569,11 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, GEN11_SAMPLER_ENABLE_HEADLESS_MSG); } +static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, + struct i915_wa_list *wal) +{ +} + static void __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, struct i915_wa_list *wal, @@ -581,7 +586,9 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, wa_init_start(wal, name, engine->name); - if (IS_GEN(i915, 11)) + if (IS_GEN(i915, 12)) + tgl_ctx_workarounds_init(engine, wal); + else if (IS_GEN(i915, 11)) icl_ctx_workarounds_init(engine, wal); else if (IS_CANNONLAKE(i915)) cnl_ctx_workarounds_init(engine, wal); @@ -890,10 +897,17 @@ icl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) GAMT_CHKN_DISABLE_L3_COH_PIPE); } +static void +tgl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) +{ +} + static void gt_init_workarounds(struct drm_i915_private *i915, struct i915_wa_list *wal) { - if (IS_GEN(i915, 11)) + if (IS_GEN(i915, 12)) + tgl_gt_workarounds_init(i915, wal); + else if (IS_GEN(i915, 11)) icl_gt_workarounds_init(i915, wal); else if (IS_CANNONLAKE(i915)) cnl_gt_workarounds_init(i915, wal); @@ -1183,6 +1197,17 @@ static void icl_whitelist_build(struct intel_engine_cs *engine) } } +static void tgl_whitelist_build(struct intel_engine_cs *engine) +{ + struct i915_wa_list *w = &engine->whitelist; + + /* WaSendPushConstantsFromMMIO:tgl */ + whitelist_reg(w, COMMON_SLICE_CHICKEN2); + + /* WaAllowUMDToModifySamplerMode:tgl */ + whitelist_reg(w, GEN10_SAMPLER_MODE); +} + void intel_engine_init_whitelist(struct intel_engine_cs *engine) { struct drm_i915_private *i915 = engine->i915; @@ -1190,7 +1215,9 @@ void intel_engine_init_whitelist(struct intel_engine_cs *engine) wa_init_start(w, "whitelist", engine->name); - if (IS_GEN(i915, 11)) + if (IS_GEN(i915, 12)) + tgl_whitelist_build(engine); + else if (IS_GEN(i915, 11)) icl_whitelist_build(engine); else if (IS_CANNONLAKE(i915)) cnl_whitelist_build(engine); @@ -1240,6 +1267,13 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) { struct drm_i915_private *i915 = engine->i915; + if (IS_GEN(i915, 12)) { + /* WaPipelineFlushCoherentLines:tgl */ + wa_write_or(wal, + GEN12_L3SQCREG2, + GEN12_LQSC_FLUSH_COHERENT_LINES); + } + if (IS_GEN(i915, 11)) { /* This is not an Wa. Enable for better image quality */ wa_masked_en(wal, diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 24f2a52a2b42..54ea250000be 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -7729,6 +7729,9 @@ enum { #define GEN8_LQSC_RO_PERF_DIS (1 << 27) #define GEN8_LQSC_FLUSH_COHERENT_LINES (1 << 21) +#define GEN12_L3SQCREG2 _MMIO(0xb104) +#define GEN12_LQSC_FLUSH_COHERENT_LINES (1 << 24) + /* GEN8 chicken */ #define HDC_CHICKEN0 _MMIO(0x7300) #define CNL_HDC_CHICKEN0 _MMIO(0xE5F0) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 30399b245f07..63aecff195ce 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -9608,7 +9608,9 @@ static void nop_init_clock_gating(struct drm_i915_private *dev_priv) */ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv) { - if (IS_GEN(dev_priv, 11)) + if (IS_GEN(dev_priv, 12)) + dev_priv->display.init_clock_gating = nop_init_clock_gating; + else if (IS_GEN(dev_priv, 11)) dev_priv->display.init_clock_gating = icl_init_clock_gating; else if (IS_CANNONLAKE(dev_priv)) dev_priv->display.init_clock_gating = cnl_init_clock_gating; diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 475ab3d4d91d..cca046ff2e10 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -144,7 +144,7 @@ fw_domain_wait_ack_with_fallback(const struct intel_uncore_forcewake_domain *d, * the fallback ack. * * This workaround is described in HSDES #1604254524 and it's known as: - * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl + * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl,tgl * although the name is a bit misleading. */ -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds 2019-07-26 0:02 ` [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds Lucas De Marchi @ 2019-08-12 22:29 ` Radhakrishna Sripada 2019-08-13 18:07 ` Radhakrishna Sripada 1 sibling, 0 replies; 15+ messages in thread From: Radhakrishna Sripada @ 2019-08-12 22:29 UTC (permalink / raw) To: Lucas De Marchi; +Cc: Michel Thierry, intel-gfx On Thu, Jul 25, 2019 at 05:02:24PM -0700, Lucas De Marchi wrote: > From: Michel Thierry <michel.thierry@intel.com> > > Inherit workarounds from previous platforms that are still valid for > Tigerlake. > > WaPipelineFlushCoherentLines:tgl (changed register but has same name) > WaSendPushConstantsFromMMIO:tgl > WaAllowUMDToModifySamplerMode:tgl > WaRsForcewakeAddDelayForAck:tgl > > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> > Signed-off-by: Michel Thierry <michel.thierry@intel.com> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_lrc.c | 2 ++ > drivers/gpu/drm/i915/gt/intel_workarounds.c | 40 +++++++++++++++++++-- > drivers/gpu/drm/i915/i915_reg.h | 3 ++ > drivers/gpu/drm/i915/intel_pm.c | 4 ++- > drivers/gpu/drm/i915/intel_uncore.c | 2 +- > 5 files changed, 46 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index 884dfc1cb033..893c58df8be0 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -2069,6 +2069,8 @@ static int intel_init_workaround_bb(struct intel_engine_cs *engine) > return 0; > > switch (INTEL_GEN(engine->i915)) { > + case 12: > + return 0; > case 11: > return 0; > case 10: > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > index 704ace01e7f5..a6eb9c6e87ec 100644 > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > @@ -569,6 +569,11 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, > GEN11_SAMPLER_ENABLE_HEADLESS_MSG); > } > > +static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, > + struct i915_wa_list *wal) > +{ > +} > + > static void > __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, > struct i915_wa_list *wal, > @@ -581,7 +586,9 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, > > wa_init_start(wal, name, engine->name); > > - if (IS_GEN(i915, 11)) > + if (IS_GEN(i915, 12)) > + tgl_ctx_workarounds_init(engine, wal); > + else if (IS_GEN(i915, 11)) > icl_ctx_workarounds_init(engine, wal); > else if (IS_CANNONLAKE(i915)) > cnl_ctx_workarounds_init(engine, wal); > @@ -890,10 +897,17 @@ icl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) > GAMT_CHKN_DISABLE_L3_COH_PIPE); > } > > +static void > +tgl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) > +{ > +} > + > static void > gt_init_workarounds(struct drm_i915_private *i915, struct i915_wa_list *wal) > { > - if (IS_GEN(i915, 11)) > + if (IS_GEN(i915, 12)) > + tgl_gt_workarounds_init(i915, wal); > + else if (IS_GEN(i915, 11)) > icl_gt_workarounds_init(i915, wal); > else if (IS_CANNONLAKE(i915)) > cnl_gt_workarounds_init(i915, wal); > @@ -1183,6 +1197,17 @@ static void icl_whitelist_build(struct intel_engine_cs *engine) > } > } > > +static void tgl_whitelist_build(struct intel_engine_cs *engine) > +{ > + struct i915_wa_list *w = &engine->whitelist; > + > + /* WaSendPushConstantsFromMMIO:tgl */ > + whitelist_reg(w, COMMON_SLICE_CHICKEN2); > + > + /* WaAllowUMDToModifySamplerMode:tgl */ > + whitelist_reg(w, GEN10_SAMPLER_MODE); > +} > + > void intel_engine_init_whitelist(struct intel_engine_cs *engine) > { > struct drm_i915_private *i915 = engine->i915; > @@ -1190,7 +1215,9 @@ void intel_engine_init_whitelist(struct intel_engine_cs *engine) > > wa_init_start(w, "whitelist", engine->name); > > - if (IS_GEN(i915, 11)) > + if (IS_GEN(i915, 12)) > + tgl_whitelist_build(engine); > + else if (IS_GEN(i915, 11)) > icl_whitelist_build(engine); > else if (IS_CANNONLAKE(i915)) > cnl_whitelist_build(engine); > @@ -1240,6 +1267,13 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) > { > struct drm_i915_private *i915 = engine->i915; > > + if (IS_GEN(i915, 12)) { > + /* WaPipelineFlushCoherentLines:tgl */ > + wa_write_or(wal, > + GEN12_L3SQCREG2, > + GEN12_LQSC_FLUSH_COHERENT_LINES); > + } > + > if (IS_GEN(i915, 11)) { > /* This is not an Wa. Enable for better image quality */ > wa_masked_en(wal, > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 24f2a52a2b42..54ea250000be 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7729,6 +7729,9 @@ enum { > #define GEN8_LQSC_RO_PERF_DIS (1 << 27) > #define GEN8_LQSC_FLUSH_COHERENT_LINES (1 << 21) > > +#define GEN12_L3SQCREG2 _MMIO(0xb104) > +#define GEN12_LQSC_FLUSH_COHERENT_LINES (1 << 24) > + > /* GEN8 chicken */ > #define HDC_CHICKEN0 _MMIO(0x7300) > #define CNL_HDC_CHICKEN0 _MMIO(0xE5F0) > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 30399b245f07..63aecff195ce 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -9608,7 +9608,9 @@ static void nop_init_clock_gating(struct drm_i915_private *dev_priv) > */ > void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv) > { > - if (IS_GEN(dev_priv, 11)) > + if (IS_GEN(dev_priv, 12)) > + dev_priv->display.init_clock_gating = nop_init_clock_gating; > + else if (IS_GEN(dev_priv, 11)) > dev_priv->display.init_clock_gating = icl_init_clock_gating; > else if (IS_CANNONLAKE(dev_priv)) > dev_priv->display.init_clock_gating = cnl_init_clock_gating; > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c > index 475ab3d4d91d..cca046ff2e10 100644 > --- a/drivers/gpu/drm/i915/intel_uncore.c > +++ b/drivers/gpu/drm/i915/intel_uncore.c > @@ -144,7 +144,7 @@ fw_domain_wait_ack_with_fallback(const struct intel_uncore_forcewake_domain *d, > * the fallback ack. > * > * This workaround is described in HSDES #1604254524 and it's known as: > - * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl > + * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl,tgl > * although the name is a bit misleading. > */ > > -- > 2.21.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds 2019-07-26 0:02 ` [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds Lucas De Marchi 2019-08-12 22:29 ` Radhakrishna Sripada @ 2019-08-13 18:07 ` Radhakrishna Sripada 2019-08-16 2:47 ` Lucas De Marchi 1 sibling, 1 reply; 15+ messages in thread From: Radhakrishna Sripada @ 2019-08-13 18:07 UTC (permalink / raw) To: Lucas De Marchi; +Cc: Michel Thierry, intel-gfx On Thu, Jul 25, 2019 at 05:02:24PM -0700, Lucas De Marchi wrote: > From: Michel Thierry <michel.thierry@intel.com> > > Inherit workarounds from previous platforms that are still valid for > Tigerlake. > > WaPipelineFlushCoherentLines:tgl (changed register but has same name) > WaSendPushConstantsFromMMIO:tgl > WaAllowUMDToModifySamplerMode:tgl > WaRsForcewakeAddDelayForAck:tgl > > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > Signed-off-by: Michel Thierry <michel.thierry@intel.com> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_lrc.c | 2 ++ > drivers/gpu/drm/i915/gt/intel_workarounds.c | 40 +++++++++++++++++++-- > drivers/gpu/drm/i915/i915_reg.h | 3 ++ > drivers/gpu/drm/i915/intel_pm.c | 4 ++- > drivers/gpu/drm/i915/intel_uncore.c | 2 +- > 5 files changed, 46 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index 884dfc1cb033..893c58df8be0 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -2069,6 +2069,8 @@ static int intel_init_workaround_bb(struct intel_engine_cs *engine) > return 0; > > switch (INTEL_GEN(engine->i915)) { > + case 12: > + return 0; > case 11: > return 0; > case 10: > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > index 704ace01e7f5..a6eb9c6e87ec 100644 > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > @@ -569,6 +569,11 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, > GEN11_SAMPLER_ENABLE_HEADLESS_MSG); > } > > +static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, > + struct i915_wa_list *wal) > +{ > +} > + > static void > __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, > struct i915_wa_list *wal, > @@ -581,7 +586,9 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, > > wa_init_start(wal, name, engine->name); > > - if (IS_GEN(i915, 11)) > + if (IS_GEN(i915, 12)) > + tgl_ctx_workarounds_init(engine, wal); > + else if (IS_GEN(i915, 11)) > icl_ctx_workarounds_init(engine, wal); > else if (IS_CANNONLAKE(i915)) > cnl_ctx_workarounds_init(engine, wal); > @@ -890,10 +897,17 @@ icl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) > GAMT_CHKN_DISABLE_L3_COH_PIPE); > } > > +static void > +tgl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) > +{ > +} > + > static void > gt_init_workarounds(struct drm_i915_private *i915, struct i915_wa_list *wal) > { > - if (IS_GEN(i915, 11)) > + if (IS_GEN(i915, 12)) > + tgl_gt_workarounds_init(i915, wal); > + else if (IS_GEN(i915, 11)) > icl_gt_workarounds_init(i915, wal); > else if (IS_CANNONLAKE(i915)) > cnl_gt_workarounds_init(i915, wal); > @@ -1183,6 +1197,17 @@ static void icl_whitelist_build(struct intel_engine_cs *engine) > } > } > > +static void tgl_whitelist_build(struct intel_engine_cs *engine) > +{ > + struct i915_wa_list *w = &engine->whitelist; > + > + /* WaSendPushConstantsFromMMIO:tgl */ > + whitelist_reg(w, COMMON_SLICE_CHICKEN2); > + > + /* WaAllowUMDToModifySamplerMode:tgl */ > + whitelist_reg(w, GEN10_SAMPLER_MODE); Are there user space consumers for the above 2 workarounds? ICL does not seem to carry them. - Radhakrishna(RK) Sripada > +} > + > void intel_engine_init_whitelist(struct intel_engine_cs *engine) > { > struct drm_i915_private *i915 = engine->i915; > @@ -1190,7 +1215,9 @@ void intel_engine_init_whitelist(struct intel_engine_cs *engine) > > wa_init_start(w, "whitelist", engine->name); > > - if (IS_GEN(i915, 11)) > + if (IS_GEN(i915, 12)) > + tgl_whitelist_build(engine); > + else if (IS_GEN(i915, 11)) > icl_whitelist_build(engine); > else if (IS_CANNONLAKE(i915)) > cnl_whitelist_build(engine); > @@ -1240,6 +1267,13 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) > { > struct drm_i915_private *i915 = engine->i915; > > + if (IS_GEN(i915, 12)) { > + /* WaPipelineFlushCoherentLines:tgl */ > + wa_write_or(wal, > + GEN12_L3SQCREG2, > + GEN12_LQSC_FLUSH_COHERENT_LINES); > + } > + > if (IS_GEN(i915, 11)) { > /* This is not an Wa. Enable for better image quality */ > wa_masked_en(wal, > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 24f2a52a2b42..54ea250000be 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7729,6 +7729,9 @@ enum { > #define GEN8_LQSC_RO_PERF_DIS (1 << 27) > #define GEN8_LQSC_FLUSH_COHERENT_LINES (1 << 21) > > +#define GEN12_L3SQCREG2 _MMIO(0xb104) > +#define GEN12_LQSC_FLUSH_COHERENT_LINES (1 << 24) > + > /* GEN8 chicken */ > #define HDC_CHICKEN0 _MMIO(0x7300) > #define CNL_HDC_CHICKEN0 _MMIO(0xE5F0) > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 30399b245f07..63aecff195ce 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -9608,7 +9608,9 @@ static void nop_init_clock_gating(struct drm_i915_private *dev_priv) > */ > void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv) > { > - if (IS_GEN(dev_priv, 11)) > + if (IS_GEN(dev_priv, 12)) > + dev_priv->display.init_clock_gating = nop_init_clock_gating; > + else if (IS_GEN(dev_priv, 11)) > dev_priv->display.init_clock_gating = icl_init_clock_gating; > else if (IS_CANNONLAKE(dev_priv)) > dev_priv->display.init_clock_gating = cnl_init_clock_gating; > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c > index 475ab3d4d91d..cca046ff2e10 100644 > --- a/drivers/gpu/drm/i915/intel_uncore.c > +++ b/drivers/gpu/drm/i915/intel_uncore.c > @@ -144,7 +144,7 @@ fw_domain_wait_ack_with_fallback(const struct intel_uncore_forcewake_domain *d, > * the fallback ack. > * > * This workaround is described in HSDES #1604254524 and it's known as: > - * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl > + * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl,tgl > * although the name is a bit misleading. > */ > > -- > 2.21.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds 2019-08-13 18:07 ` Radhakrishna Sripada @ 2019-08-16 2:47 ` Lucas De Marchi 0 siblings, 0 replies; 15+ messages in thread From: Lucas De Marchi @ 2019-08-16 2:47 UTC (permalink / raw) To: Radhakrishna Sripada; +Cc: Michel Thierry, intel-gfx On Tue, Aug 13, 2019 at 11:07:54AM -0700, Radhakrishna Sripada wrote: >On Thu, Jul 25, 2019 at 05:02:24PM -0700, Lucas De Marchi wrote: >> From: Michel Thierry <michel.thierry@intel.com> >> >> Inherit workarounds from previous platforms that are still valid for >> Tigerlake. >> >> WaPipelineFlushCoherentLines:tgl (changed register but has same name) >> WaSendPushConstantsFromMMIO:tgl >> WaAllowUMDToModifySamplerMode:tgl >> WaRsForcewakeAddDelayForAck:tgl >> >> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> >> Signed-off-by: Michel Thierry <michel.thierry@intel.com> >> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> >> --- >> drivers/gpu/drm/i915/gt/intel_lrc.c | 2 ++ >> drivers/gpu/drm/i915/gt/intel_workarounds.c | 40 +++++++++++++++++++-- >> drivers/gpu/drm/i915/i915_reg.h | 3 ++ >> drivers/gpu/drm/i915/intel_pm.c | 4 ++- >> drivers/gpu/drm/i915/intel_uncore.c | 2 +- >> 5 files changed, 46 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c >> index 884dfc1cb033..893c58df8be0 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c >> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c >> @@ -2069,6 +2069,8 @@ static int intel_init_workaround_bb(struct intel_engine_cs *engine) >> return 0; >> >> switch (INTEL_GEN(engine->i915)) { >> + case 12: >> + return 0; >> case 11: >> return 0; >> case 10: >> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c >> index 704ace01e7f5..a6eb9c6e87ec 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c >> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c >> @@ -569,6 +569,11 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, >> GEN11_SAMPLER_ENABLE_HEADLESS_MSG); >> } >> >> +static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, >> + struct i915_wa_list *wal) >> +{ >> +} >> + >> static void >> __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, >> struct i915_wa_list *wal, >> @@ -581,7 +586,9 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine, >> >> wa_init_start(wal, name, engine->name); >> >> - if (IS_GEN(i915, 11)) >> + if (IS_GEN(i915, 12)) >> + tgl_ctx_workarounds_init(engine, wal); >> + else if (IS_GEN(i915, 11)) >> icl_ctx_workarounds_init(engine, wal); >> else if (IS_CANNONLAKE(i915)) >> cnl_ctx_workarounds_init(engine, wal); >> @@ -890,10 +897,17 @@ icl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) >> GAMT_CHKN_DISABLE_L3_COH_PIPE); >> } >> >> +static void >> +tgl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal) >> +{ >> +} >> + >> static void >> gt_init_workarounds(struct drm_i915_private *i915, struct i915_wa_list *wal) >> { >> - if (IS_GEN(i915, 11)) >> + if (IS_GEN(i915, 12)) >> + tgl_gt_workarounds_init(i915, wal); >> + else if (IS_GEN(i915, 11)) >> icl_gt_workarounds_init(i915, wal); >> else if (IS_CANNONLAKE(i915)) >> cnl_gt_workarounds_init(i915, wal); >> @@ -1183,6 +1197,17 @@ static void icl_whitelist_build(struct intel_engine_cs *engine) >> } >> } >> >> +static void tgl_whitelist_build(struct intel_engine_cs *engine) >> +{ >> + struct i915_wa_list *w = &engine->whitelist; >> + >> + /* WaSendPushConstantsFromMMIO:tgl */ >> + whitelist_reg(w, COMMON_SLICE_CHICKEN2); >> + >> + /* WaAllowUMDToModifySamplerMode:tgl */ >> + whitelist_reg(w, GEN10_SAMPLER_MODE); >Are there user space consumers for the above 2 workarounds? >ICL does not seem to carry them. I don't think so. At least *I* was not involved with any. My main interest here was actually to add the infra for TGL (aka remove the warning) and inherit the WAs carried over from ICL. If they are not valid for ICL because there is not user, could you send a patch for ICL? I will send a new patch without these. thanks Lucas De Marchi > >- Radhakrishna(RK) Sripada >> +} >> + >> void intel_engine_init_whitelist(struct intel_engine_cs *engine) >> { >> struct drm_i915_private *i915 = engine->i915; >> @@ -1190,7 +1215,9 @@ void intel_engine_init_whitelist(struct intel_engine_cs *engine) >> >> wa_init_start(w, "whitelist", engine->name); >> >> - if (IS_GEN(i915, 11)) >> + if (IS_GEN(i915, 12)) >> + tgl_whitelist_build(engine); >> + else if (IS_GEN(i915, 11)) >> icl_whitelist_build(engine); >> else if (IS_CANNONLAKE(i915)) >> cnl_whitelist_build(engine); >> @@ -1240,6 +1267,13 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) >> { >> struct drm_i915_private *i915 = engine->i915; >> >> + if (IS_GEN(i915, 12)) { >> + /* WaPipelineFlushCoherentLines:tgl */ >> + wa_write_or(wal, >> + GEN12_L3SQCREG2, >> + GEN12_LQSC_FLUSH_COHERENT_LINES); >> + } >> + >> if (IS_GEN(i915, 11)) { >> /* This is not an Wa. Enable for better image quality */ >> wa_masked_en(wal, >> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h >> index 24f2a52a2b42..54ea250000be 100644 >> --- a/drivers/gpu/drm/i915/i915_reg.h >> +++ b/drivers/gpu/drm/i915/i915_reg.h >> @@ -7729,6 +7729,9 @@ enum { >> #define GEN8_LQSC_RO_PERF_DIS (1 << 27) >> #define GEN8_LQSC_FLUSH_COHERENT_LINES (1 << 21) >> >> +#define GEN12_L3SQCREG2 _MMIO(0xb104) >> +#define GEN12_LQSC_FLUSH_COHERENT_LINES (1 << 24) >> + >> /* GEN8 chicken */ >> #define HDC_CHICKEN0 _MMIO(0x7300) >> #define CNL_HDC_CHICKEN0 _MMIO(0xE5F0) >> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c >> index 30399b245f07..63aecff195ce 100644 >> --- a/drivers/gpu/drm/i915/intel_pm.c >> +++ b/drivers/gpu/drm/i915/intel_pm.c >> @@ -9608,7 +9608,9 @@ static void nop_init_clock_gating(struct drm_i915_private *dev_priv) >> */ >> void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv) >> { >> - if (IS_GEN(dev_priv, 11)) >> + if (IS_GEN(dev_priv, 12)) >> + dev_priv->display.init_clock_gating = nop_init_clock_gating; >> + else if (IS_GEN(dev_priv, 11)) >> dev_priv->display.init_clock_gating = icl_init_clock_gating; >> else if (IS_CANNONLAKE(dev_priv)) >> dev_priv->display.init_clock_gating = cnl_init_clock_gating; >> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c >> index 475ab3d4d91d..cca046ff2e10 100644 >> --- a/drivers/gpu/drm/i915/intel_uncore.c >> +++ b/drivers/gpu/drm/i915/intel_uncore.c >> @@ -144,7 +144,7 @@ fw_domain_wait_ack_with_fallback(const struct intel_uncore_forcewake_domain *d, >> * the fallback ack. >> * >> * This workaround is described in HSDES #1604254524 and it's known as: >> - * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl >> + * WaRsForcewakeAddDelayForAck:skl,bxt,kbl,glk,cfl,cnl,icl,tgl >> * although the name is a bit misleading. >> */ >> >> -- >> 2.21.0 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 2019-07-26 0:02 [PATCH 0/3] Tiger Lake: add workarounds Lucas De Marchi 2019-07-26 0:02 ` [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds Lucas De Marchi @ 2019-07-26 0:02 ` Lucas De Marchi 2019-07-26 0:10 ` Chris Wilson 2019-07-26 0:02 ` [PATCH 3/3] drm/i915/tgl: Implement Wa_1406941453 Lucas De Marchi ` (2 subsequent siblings) 4 siblings, 1 reply; 15+ messages in thread From: Lucas De Marchi @ 2019-07-26 0:02 UTC (permalink / raw) To: intel-gfx; +Cc: Michel Thierry From: Michel Thierry <michel.thierry@intel.com> Implement Wa_1604555607 (set the DS pairing timer to 128 cycles). FF_MODE2 is part of the register state context, that's why it is implemented here. Signed-off-by: Michel Thierry <michel.thierry@intel.com> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> --- drivers/gpu/drm/i915/gt/intel_workarounds.c | 7 +++++++ drivers/gpu/drm/i915/i915_reg.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c index a6eb9c6e87ec..3235ef355dfd 100644 --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c @@ -572,6 +572,13 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) { + u32 val; + + /* Wa_1604555607:tgl */ + val = intel_uncore_read(engine->uncore, FF_MODE2); + val &= ~FF_MODE2_TDS_TIMER_MASK; + val |= FF_MODE2_TDS_TIMER_128; + wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val); } static void diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 54ea250000be..fbbb89f6ca2f 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -7771,6 +7771,11 @@ enum { #define PIXEL_ROUNDING_TRUNC_FB_PASSTHRU (1 << 15) #define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7) +#define FF_MODE2 _MMIO(0x6604) +#define FF_MODE2_TDS_TIMER_SHIFT (16) +#define FF_MODE2_TDS_TIMER_128 (4 << FF_MODE2_TDS_TIMER_SHIFT) +#define FF_MODE2_TDS_TIMER_MASK (0xff << FF_MODE2_TDS_TIMER_SHIFT) + /* PCH */ #define PCH_DISPLAY_BASE 0xc0000u -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 2019-07-26 0:02 ` [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 Lucas De Marchi @ 2019-07-26 0:10 ` Chris Wilson 2019-07-26 13:15 ` Tvrtko Ursulin 0 siblings, 1 reply; 15+ messages in thread From: Chris Wilson @ 2019-07-26 0:10 UTC (permalink / raw) To: Lucas De Marchi, intel-gfx; +Cc: Michel Thierry Quoting Lucas De Marchi (2019-07-26 01:02:25) > From: Michel Thierry <michel.thierry@intel.com> > > Implement Wa_1604555607 (set the DS pairing timer to 128 cycles). > FF_MODE2 is part of the register state context, that's why it is > implemented here. > > Signed-off-by: Michel Thierry <michel.thierry@intel.com> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_workarounds.c | 7 +++++++ > drivers/gpu/drm/i915/i915_reg.h | 5 +++++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > index a6eb9c6e87ec..3235ef355dfd 100644 > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > @@ -572,6 +572,13 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, > static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, > struct i915_wa_list *wal) > { > + u32 val; > + > + /* Wa_1604555607:tgl */ > + val = intel_uncore_read(engine->uncore, FF_MODE2); > + val &= ~FF_MODE2_TDS_TIMER_MASK; > + val |= FF_MODE2_TDS_TIMER_128; > + wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val); It will do a rmw on application, so you just need wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, FF_MODE2_TDS_TIMER_128); > } > > static void > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 54ea250000be..fbbb89f6ca2f 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7771,6 +7771,11 @@ enum { > #define PIXEL_ROUNDING_TRUNC_FB_PASSTHRU (1 << 15) > #define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7) > > +#define FF_MODE2 _MMIO(0x6604) > +#define FF_MODE2_TDS_TIMER_SHIFT (16) > +#define FF_MODE2_TDS_TIMER_128 (4 << FF_MODE2_TDS_TIMER_SHIFT) > +#define FF_MODE2_TDS_TIMER_MASK (0xff << FF_MODE2_TDS_TIMER_SHIFT) #define FF_MODE2_TDS_TIMER_MASK REG_GENMASK(23, 16) #define FF_MODE2_TDS_TIMER_128 REG_FIELD_PREP(FF_MODE2_TDS_TIMER_MASK, 4) -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 2019-07-26 0:10 ` Chris Wilson @ 2019-07-26 13:15 ` Tvrtko Ursulin 2019-07-26 13:20 ` Chris Wilson 0 siblings, 1 reply; 15+ messages in thread From: Tvrtko Ursulin @ 2019-07-26 13:15 UTC (permalink / raw) To: Chris Wilson, Lucas De Marchi, intel-gfx; +Cc: Michel Thierry On 26/07/2019 01:10, Chris Wilson wrote: > Quoting Lucas De Marchi (2019-07-26 01:02:25) >> From: Michel Thierry <michel.thierry@intel.com> >> >> Implement Wa_1604555607 (set the DS pairing timer to 128 cycles). >> FF_MODE2 is part of the register state context, that's why it is >> implemented here. >> >> Signed-off-by: Michel Thierry <michel.thierry@intel.com> >> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> >> --- >> drivers/gpu/drm/i915/gt/intel_workarounds.c | 7 +++++++ >> drivers/gpu/drm/i915/i915_reg.h | 5 +++++ >> 2 files changed, 12 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c >> index a6eb9c6e87ec..3235ef355dfd 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c >> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c >> @@ -572,6 +572,13 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, >> static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, >> struct i915_wa_list *wal) >> { >> + u32 val; >> + >> + /* Wa_1604555607:tgl */ >> + val = intel_uncore_read(engine->uncore, FF_MODE2); >> + val &= ~FF_MODE2_TDS_TIMER_MASK; >> + val |= FF_MODE2_TDS_TIMER_128; >> + wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val); > > It will do a rmw on application, so you just need > wa_write_masked_or(wal, FF_MODE2, > FF_MODE2_TDS_TIMER_MASK, FF_MODE2_TDS_TIMER_128); Not with ctx was unfortunately, no rmw there, just lri. To be less misleading perhaps: wa_write(wal, FF_MODE2, val); ? It only affects verification, do we want to verify the whole register or just the FF_MODE2_TDS_TIMER_MASK bits. Since the code reads it and sets it, it may want to check it whole. Regards, Tvrtko > >> } >> >> static void >> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h >> index 54ea250000be..fbbb89f6ca2f 100644 >> --- a/drivers/gpu/drm/i915/i915_reg.h >> +++ b/drivers/gpu/drm/i915/i915_reg.h >> @@ -7771,6 +7771,11 @@ enum { >> #define PIXEL_ROUNDING_TRUNC_FB_PASSTHRU (1 << 15) >> #define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7) >> >> +#define FF_MODE2 _MMIO(0x6604) >> +#define FF_MODE2_TDS_TIMER_SHIFT (16) >> +#define FF_MODE2_TDS_TIMER_128 (4 << FF_MODE2_TDS_TIMER_SHIFT) >> +#define FF_MODE2_TDS_TIMER_MASK (0xff << FF_MODE2_TDS_TIMER_SHIFT) > > #define FF_MODE2_TDS_TIMER_MASK REG_GENMASK(23, 16) > #define FF_MODE2_TDS_TIMER_128 REG_FIELD_PREP(FF_MODE2_TDS_TIMER_MASK, 4) > -Chris > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 2019-07-26 13:15 ` Tvrtko Ursulin @ 2019-07-26 13:20 ` Chris Wilson 2019-07-26 13:34 ` Tvrtko Ursulin 0 siblings, 1 reply; 15+ messages in thread From: Chris Wilson @ 2019-07-26 13:20 UTC (permalink / raw) To: Lucas De Marchi, Tvrtko Ursulin, intel-gfx; +Cc: Michel Thierry Quoting Tvrtko Ursulin (2019-07-26 14:15:51) > > On 26/07/2019 01:10, Chris Wilson wrote: > > Quoting Lucas De Marchi (2019-07-26 01:02:25) > >> From: Michel Thierry <michel.thierry@intel.com> > >> > >> Implement Wa_1604555607 (set the DS pairing timer to 128 cycles). > >> FF_MODE2 is part of the register state context, that's why it is > >> implemented here. > >> > >> Signed-off-by: Michel Thierry <michel.thierry@intel.com> > >> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > >> --- > >> drivers/gpu/drm/i915/gt/intel_workarounds.c | 7 +++++++ > >> drivers/gpu/drm/i915/i915_reg.h | 5 +++++ > >> 2 files changed, 12 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > >> index a6eb9c6e87ec..3235ef355dfd 100644 > >> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > >> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > >> @@ -572,6 +572,13 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, > >> static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, > >> struct i915_wa_list *wal) > >> { > >> + u32 val; > >> + > >> + /* Wa_1604555607:tgl */ > >> + val = intel_uncore_read(engine->uncore, FF_MODE2); > >> + val &= ~FF_MODE2_TDS_TIMER_MASK; > >> + val |= FF_MODE2_TDS_TIMER_128; > >> + wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val); > > > > It will do a rmw on application, so you just need > > wa_write_masked_or(wal, FF_MODE2, > > FF_MODE2_TDS_TIMER_MASK, FF_MODE2_TDS_TIMER_128); > > Not with ctx was unfortunately, no rmw there, just lri. Odd that we read from outside the ctx then, no? We can do rmw inside ctx_wa if we have to thanks to MI_MATH. Should we start preparing for that nightmare? :) -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 2019-07-26 13:20 ` Chris Wilson @ 2019-07-26 13:34 ` Tvrtko Ursulin 2019-07-26 13:55 ` Chris Wilson 0 siblings, 1 reply; 15+ messages in thread From: Tvrtko Ursulin @ 2019-07-26 13:34 UTC (permalink / raw) To: Chris Wilson, Lucas De Marchi, intel-gfx; +Cc: Michel Thierry On 26/07/2019 14:20, Chris Wilson wrote: > Quoting Tvrtko Ursulin (2019-07-26 14:15:51) >> >> On 26/07/2019 01:10, Chris Wilson wrote: >>> Quoting Lucas De Marchi (2019-07-26 01:02:25) >>>> From: Michel Thierry <michel.thierry@intel.com> >>>> >>>> Implement Wa_1604555607 (set the DS pairing timer to 128 cycles). >>>> FF_MODE2 is part of the register state context, that's why it is >>>> implemented here. >>>> >>>> Signed-off-by: Michel Thierry <michel.thierry@intel.com> >>>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> >>>> --- >>>> drivers/gpu/drm/i915/gt/intel_workarounds.c | 7 +++++++ >>>> drivers/gpu/drm/i915/i915_reg.h | 5 +++++ >>>> 2 files changed, 12 insertions(+) >>>> >>>> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c >>>> index a6eb9c6e87ec..3235ef355dfd 100644 >>>> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c >>>> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c >>>> @@ -572,6 +572,13 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine, >>>> static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine, >>>> struct i915_wa_list *wal) >>>> { >>>> + u32 val; >>>> + >>>> + /* Wa_1604555607:tgl */ >>>> + val = intel_uncore_read(engine->uncore, FF_MODE2); >>>> + val &= ~FF_MODE2_TDS_TIMER_MASK; >>>> + val |= FF_MODE2_TDS_TIMER_128; >>>> + wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val); >>> >>> It will do a rmw on application, so you just need >>> wa_write_masked_or(wal, FF_MODE2, >>> FF_MODE2_TDS_TIMER_MASK, FF_MODE2_TDS_TIMER_128); >> >> Not with ctx was unfortunately, no rmw there, just lri. > > Odd that we read from outside the ctx then, no? Perhaps. We have to get the default value from somewhere. There is one like this already, GEN8_L3CNTLREG, from not too long ago. > We can do rmw inside ctx_wa if we have to thanks to MI_MATH. Should we > start preparing for that nightmare? :) When you say preparing it makes it sounds complicated so I want to say no. But sure, if you have extra time go for it. Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 2019-07-26 13:34 ` Tvrtko Ursulin @ 2019-07-26 13:55 ` Chris Wilson 0 siblings, 0 replies; 15+ messages in thread From: Chris Wilson @ 2019-07-26 13:55 UTC (permalink / raw) To: Lucas De Marchi, Tvrtko Ursulin, intel-gfx; +Cc: Michel Thierry Quoting Tvrtko Ursulin (2019-07-26 14:34:56) > > On 26/07/2019 14:20, Chris Wilson wrote: > > We can do rmw inside ctx_wa if we have to thanks to MI_MATH. Should we > > start preparing for that nightmare? :) > > When you say preparing it makes it sounds complicated so I want to say > no. But sure, if you have extra time go for it. The quick-and-dirty solution is to write the assembly routines by hand, but Lionel mentioned that mesa might have a dsl we could use to create MI_MATH routines. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 3/3] drm/i915/tgl: Implement Wa_1406941453 2019-07-26 0:02 [PATCH 0/3] Tiger Lake: add workarounds Lucas De Marchi 2019-07-26 0:02 ` [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds Lucas De Marchi 2019-07-26 0:02 ` [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 Lucas De Marchi @ 2019-07-26 0:02 ` Lucas De Marchi 2019-08-12 22:10 ` Radhakrishna Sripada 2019-07-26 2:47 ` ✓ Fi.CI.BAT: success for Tiger Lake: add workarounds Patchwork 2019-07-27 4:36 ` ✓ Fi.CI.IGT: " Patchwork 4 siblings, 1 reply; 15+ messages in thread From: Lucas De Marchi @ 2019-07-26 0:02 UTC (permalink / raw) To: intel-gfx; +Cc: Michel Thierry From: Michel Thierry <michel.thierry@intel.com> Enable Small PL for power benefit. Signed-off-by: Michel Thierry <michel.thierry@intel.com> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Stuart Summers <stuart.summers@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190713010940.17711-18-lucas.demarchi@intel.com --- drivers/gpu/drm/i915/gt/intel_workarounds.c | 5 +++++ drivers/gpu/drm/i915/i915_reg.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c index 3235ef355dfd..830ccd416a29 100644 --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c @@ -1279,6 +1279,11 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) wa_write_or(wal, GEN12_L3SQCREG2, GEN12_LQSC_FLUSH_COHERENT_LINES); + + /* Wa_1406941453:tgl */ + wa_masked_en(wal, + SAMPLER_MODE, + SAMPLER_ENABLE_SMALL_PL); } if (IS_GEN(i915, 11)) { diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index fbbb89f6ca2f..71efb37f54a3 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -8965,6 +8965,9 @@ enum { #define GEN9_DG_MIRROR_FIX_ENABLE (1 << 5) #define GEN9_CCS_TLB_PREFETCH_ENABLE (1 << 3) +#define SAMPLER_MODE _MMIO(0xe18c) +#define SAMPLER_ENABLE_SMALL_PL (1 << 15) + #define GEN8_ROW_CHICKEN _MMIO(0xe4f0) #define FLOW_CONTROL_ENABLE (1 << 15) #define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1 << 8) -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/3] drm/i915/tgl: Implement Wa_1406941453 2019-07-26 0:02 ` [PATCH 3/3] drm/i915/tgl: Implement Wa_1406941453 Lucas De Marchi @ 2019-08-12 22:10 ` Radhakrishna Sripada 0 siblings, 0 replies; 15+ messages in thread From: Radhakrishna Sripada @ 2019-08-12 22:10 UTC (permalink / raw) To: Lucas De Marchi; +Cc: Michel Thierry, intel-gfx On Thu, Jul 25, 2019 at 05:02:26PM -0700, Lucas De Marchi wrote: > From: Michel Thierry <michel.thierry@intel.com> > > Enable Small PL for power benefit. > > Signed-off-by: Michel Thierry <michel.thierry@intel.com> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > Reviewed-by: Stuart Summers <stuart.summers@intel.com> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> > Link: https://patchwork.freedesktop.org/patch/msgid/20190713010940.17711-18-lucas.demarchi@intel.com > --- > drivers/gpu/drm/i915/gt/intel_workarounds.c | 5 +++++ > drivers/gpu/drm/i915/i915_reg.h | 3 +++ > 2 files changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > index 3235ef355dfd..830ccd416a29 100644 > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > @@ -1279,6 +1279,11 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal) > wa_write_or(wal, > GEN12_L3SQCREG2, > GEN12_LQSC_FLUSH_COHERENT_LINES); > + > + /* Wa_1406941453:tgl */ > + wa_masked_en(wal, > + SAMPLER_MODE, > + SAMPLER_ENABLE_SMALL_PL); > } > > if (IS_GEN(i915, 11)) { > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index fbbb89f6ca2f..71efb37f54a3 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -8965,6 +8965,9 @@ enum { > #define GEN9_DG_MIRROR_FIX_ENABLE (1 << 5) > #define GEN9_CCS_TLB_PREFETCH_ENABLE (1 << 3) > > +#define SAMPLER_MODE _MMIO(0xe18c) > +#define SAMPLER_ENABLE_SMALL_PL (1 << 15) > + > #define GEN8_ROW_CHICKEN _MMIO(0xe4f0) > #define FLOW_CONTROL_ENABLE (1 << 15) > #define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1 << 8) > -- > 2.21.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Fi.CI.BAT: success for Tiger Lake: add workarounds 2019-07-26 0:02 [PATCH 0/3] Tiger Lake: add workarounds Lucas De Marchi ` (2 preceding siblings ...) 2019-07-26 0:02 ` [PATCH 3/3] drm/i915/tgl: Implement Wa_1406941453 Lucas De Marchi @ 2019-07-26 2:47 ` Patchwork 2019-07-27 4:36 ` ✓ Fi.CI.IGT: " Patchwork 4 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2019-07-26 2:47 UTC (permalink / raw) To: Lucas De Marchi; +Cc: intel-gfx == Series Details == Series: Tiger Lake: add workarounds URL : https://patchwork.freedesktop.org/series/64274/ State : success == Summary == CI Bug Log - changes from CI_DRM_6557 -> Patchwork_13765 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/ Known issues ------------ Here are the changes found in Patchwork_13765 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_create@basic-files: - fi-icl-u3: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / [fdo#109100]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-icl-u3/igt@gem_ctx_create@basic-files.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-icl-u3/igt@gem_ctx_create@basic-files.html * igt@i915_selftest@live_client: - fi-icl-dsi: [PASS][3] -> [INCOMPLETE][4] ([fdo#107713]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-icl-dsi/igt@i915_selftest@live_client.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-icl-dsi/igt@i915_selftest@live_client.html * igt@kms_chamelium@dp-edid-read: - fi-icl-u2: [PASS][5] -> [FAIL][6] ([fdo#109483] / [fdo#109635 ]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-icl-u2/igt@kms_chamelium@dp-edid-read.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-icl-u2/igt@kms_chamelium@dp-edid-read.html #### Possible fixes #### * igt@i915_selftest@live_blt: - fi-icl-dsi: [DMESG-FAIL][7] ([fdo#110899]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-icl-dsi/igt@i915_selftest@live_blt.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-icl-dsi/igt@i915_selftest@live_blt.html * igt@kms_busy@basic-flip-a: - fi-kbl-7567u: [SKIP][9] ([fdo#109271] / [fdo#109278]) -> [PASS][10] +2 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-kbl-7567u/igt@kms_busy@basic-flip-a.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-kbl-7567u/igt@kms_busy@basic-flip-a.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-kbl-7567u: [WARN][11] ([fdo#109380]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_frontbuffer_tracking@basic: - fi-icl-u2: [FAIL][13] ([fdo#103167]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html * igt@kms_pipe_crc_basic@read-crc-pipe-c: - fi-kbl-7567u: [SKIP][15] ([fdo#109271]) -> [PASS][16] +23 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380 [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483 [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 [fdo#110899]: https://bugs.freedesktop.org/show_bug.cgi?id=110899 Participating hosts (53 -> 45) ------------------------------ Additional (1): fi-pnv-d510 Missing (9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-cfl-8109u fi-icl-y fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_6557 -> Patchwork_13765 CI-20190529: 20190529 CI_DRM_6557: 2ebd69f583d23b295265832f168e39427a8bd863 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5112: 7e4d10507088055413769a020dd674f52b4bc1b0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_13765: 8cbecca9298f056e49ab192affdce16880baf9b8 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 8cbecca9298f drm/i915/tgl: Implement Wa_1406941453 603fa049e1f1 drm/i915/tgl: Implement Wa_1604555607 385a308bbf68 drm/i915/tgl: Introduce initial Tigerlake Workarounds == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Fi.CI.IGT: success for Tiger Lake: add workarounds 2019-07-26 0:02 [PATCH 0/3] Tiger Lake: add workarounds Lucas De Marchi ` (3 preceding siblings ...) 2019-07-26 2:47 ` ✓ Fi.CI.BAT: success for Tiger Lake: add workarounds Patchwork @ 2019-07-27 4:36 ` Patchwork 4 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2019-07-27 4:36 UTC (permalink / raw) To: Lucas De Marchi; +Cc: intel-gfx == Series Details == Series: Tiger Lake: add workarounds URL : https://patchwork.freedesktop.org/series/64274/ State : success == Summary == CI Bug Log - changes from CI_DRM_6557_full -> Patchwork_13765_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_13765_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_workarounds@suspend-resume-context: - shard-apl: [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-apl3/igt@gem_workarounds@suspend-resume-context.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-apl6/igt@gem_workarounds@suspend-resume-context.html * igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen: - shard-snb: [PASS][3] -> [SKIP][4] ([fdo#109271]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-snb4/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-snb5/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html * igt@kms_cursor_crc@pipe-b-cursor-suspend: - shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713]) +1 similar issue [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb7/igt@kms_cursor_crc@pipe-b-cursor-suspend.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb3/igt@kms_cursor_crc@pipe-b-cursor-suspend.html * igt@kms_cursor_legacy@cursor-vs-flip-legacy: - shard-hsw: [PASS][7] -> [FAIL][8] ([fdo#103355]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-legacy.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-legacy.html * igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled: - shard-skl: [PASS][9] -> [FAIL][10] ([fdo#103184] / [fdo#103232]) +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-skl9/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-skl2/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled.html * igt@kms_flip@flip-vs-expired-vblank: - shard-skl: [PASS][11] -> [FAIL][12] ([fdo#105363]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-skl7/igt@kms_flip@flip-vs-expired-vblank.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-skl1/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_flip_tiling@flip-to-y-tiled: - shard-iclb: [PASS][13] -> [FAIL][14] ([fdo#107931] / [fdo#108134]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb8/igt@kms_flip_tiling@flip-to-y-tiled.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb6/igt@kms_flip_tiling@flip-to-y-tiled.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render: - shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +6 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-kbl: [PASS][17] -> [DMESG-WARN][18] ([fdo#108566]) +4 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-kbl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html * igt@kms_psr2_su@page_flip: - shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109642] / [fdo#111068]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb2/igt@kms_psr2_su@page_flip.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb8/igt@kms_psr2_su@page_flip.html * igt@kms_psr@no_drrs: - shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#108341]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb3/igt@kms_psr@no_drrs.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb1/igt@kms_psr@no_drrs.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [PASS][23] -> [SKIP][24] ([fdo#109441]) +3 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb7/igt@kms_psr@psr2_sprite_plane_move.html * igt@kms_rotation_crc@multiplane-rotation: - shard-glk: [PASS][25] -> [DMESG-FAIL][26] ([fdo#105763] / [fdo#106538]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-glk1/igt@kms_rotation_crc@multiplane-rotation.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-glk3/igt@kms_rotation_crc@multiplane-rotation.html #### Possible fixes #### * igt@gem_ctx_isolation@rcs0-s3: - shard-apl: [DMESG-WARN][27] ([fdo#108566]) -> [PASS][28] +2 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-apl6/igt@gem_ctx_isolation@rcs0-s3.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-apl4/igt@gem_ctx_isolation@rcs0-s3.html * igt@i915_pm_rc6_residency@rc6-accuracy: - shard-snb: [SKIP][29] ([fdo#109271]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-snb6/igt@i915_pm_rc6_residency@rc6-accuracy.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-snb2/igt@i915_pm_rc6_residency@rc6-accuracy.html * igt@kms_cursor_crc@pipe-b-cursor-suspend: - shard-skl: [INCOMPLETE][31] ([fdo#110741]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-suspend.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-skl2/igt@kms_cursor_crc@pipe-b-cursor-suspend.html * igt@kms_flip@2x-flip-vs-expired-vblank: - shard-glk: [FAIL][33] ([fdo#105363]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: [FAIL][35] ([fdo#105363]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-skl5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-suspend: - shard-skl: [INCOMPLETE][37] ([fdo#109507]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-skl3/igt@kms_flip@flip-vs-suspend.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-skl7/igt@kms_flip@flip-vs-suspend.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-kbl: [DMESG-WARN][39] ([fdo#108566]) -> [PASS][40] +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_flip@modeset-vs-vblank-race: - shard-glk: [FAIL][41] ([fdo#103060]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-glk9/igt@kms_flip@modeset-vs-vblank-race.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-glk6/igt@kms_flip@modeset-vs-vblank-race.html * igt@kms_frontbuffer_tracking@basic: - shard-iclb: [FAIL][43] ([fdo#103167]) -> [PASS][44] +6 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb2/igt@kms_frontbuffer_tracking@basic.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb8/igt@kms_frontbuffer_tracking@basic.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b: - shard-skl: [INCOMPLETE][45] ([fdo#104108]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-skl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-skl10/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html * igt@kms_psr@psr2_cursor_plane_move: - shard-iclb: [SKIP][47] ([fdo#109441]) -> [PASS][48] +2 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb4/igt@kms_psr@psr2_cursor_plane_move.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html * igt@kms_setmode@basic: - shard-apl: [FAIL][49] ([fdo#99912]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-apl3/igt@kms_setmode@basic.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-apl6/igt@kms_setmode@basic.html - shard-hsw: [FAIL][51] ([fdo#99912]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-hsw2/igt@kms_setmode@basic.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-hsw5/igt@kms_setmode@basic.html * igt@perf_pmu@busy-hang-bcs0: - shard-iclb: [FAIL][53] -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb1/igt@perf_pmu@busy-hang-bcs0.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb6/igt@perf_pmu@busy-hang-bcs0.html * igt@perf_pmu@rc6-runtime-pm-long: - shard-iclb: [FAIL][55] ([fdo#105010]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-iclb6/igt@perf_pmu@rc6-runtime-pm-long.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-iclb6/igt@perf_pmu@rc6-runtime-pm-long.html #### Warnings #### * igt@kms_atomic_transition@6x-modeset-transitions-nonblocking: - shard-snb: [SKIP][57] ([fdo#109271] / [fdo#109278]) -> [SKIP][58] ([fdo#109271]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6557/shard-snb4/igt@kms_atomic_transition@6x-modeset-transitions-nonblocking.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/shard-snb5/igt@kms_atomic_transition@6x-modeset-transitions-nonblocking.html [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184 [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232 [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#105010]: https://bugs.freedesktop.org/show_bug.cgi?id=105010 [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363 [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763 [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107931]: https://bugs.freedesktop.org/show_bug.cgi?id=107931 [fdo#108134]: https://bugs.freedesktop.org/show_bug.cgi?id=108134 [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110741]: https://bugs.freedesktop.org/show_bug.cgi?id=110741 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_6557 -> Patchwork_13765 CI-20190529: 20190529 CI_DRM_6557: 2ebd69f583d23b295265832f168e39427a8bd863 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5112: 7e4d10507088055413769a020dd674f52b4bc1b0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_13765: 8cbecca9298f056e49ab192affdce16880baf9b8 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13765/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2019-08-16 2:47 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-26 0:02 [PATCH 0/3] Tiger Lake: add workarounds Lucas De Marchi 2019-07-26 0:02 ` [PATCH 1/3] drm/i915/tgl: Introduce initial Tigerlake Workarounds Lucas De Marchi 2019-08-12 22:29 ` Radhakrishna Sripada 2019-08-13 18:07 ` Radhakrishna Sripada 2019-08-16 2:47 ` Lucas De Marchi 2019-07-26 0:02 ` [PATCH 2/3] drm/i915/tgl: Implement Wa_1604555607 Lucas De Marchi 2019-07-26 0:10 ` Chris Wilson 2019-07-26 13:15 ` Tvrtko Ursulin 2019-07-26 13:20 ` Chris Wilson 2019-07-26 13:34 ` Tvrtko Ursulin 2019-07-26 13:55 ` Chris Wilson 2019-07-26 0:02 ` [PATCH 3/3] drm/i915/tgl: Implement Wa_1406941453 Lucas De Marchi 2019-08-12 22:10 ` Radhakrishna Sripada 2019-07-26 2:47 ` ✓ Fi.CI.BAT: success for Tiger Lake: add workarounds Patchwork 2019-07-27 4:36 ` ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox