Skip to content

Commit 84f9cbf

Browse files
catayloxickle
authored andcommitted
drm/i915/tgl: Implement WA_16011163337
Set GS Timer to 224. Combine with Wa_1604555607 due to register FF_MODE2 not being able to be read. V2: Math issue fixed Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Caz Yokoyama <caz.yokoyama@intel.com> Cc: Matt Atwood <matthew.s.atwood@intel.com> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20200603221150.14745-1-clinton.a.taylor@intel.com
1 parent d61345f commit 84f9cbf

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

drivers/gpu/drm/i915/gt/intel_workarounds.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -609,11 +609,14 @@ static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine,
609609
* Wa_1604555607:gen12 and Wa_1608008084:gen12
610610
* FF_MODE2 register will return the wrong value when read. The default
611611
* value for this register is zero for all fields and there are no bit
612-
* masks. So instead of doing a RMW we should just write the TDS timer
613-
* value for Wa_1604555607.
612+
* masks. So instead of doing a RMW we should just write the GS Timer
613+
* and TDS timer values for Wa_1604555607 and Wa_16011163337.
614614
*/
615-
wa_add(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK,
616-
FF_MODE2_TDS_TIMER_128, 0);
615+
wa_add(wal,
616+
FF_MODE2,
617+
FF_MODE2_GS_TIMER_MASK | FF_MODE2_TDS_TIMER_MASK,
618+
FF_MODE2_GS_TIMER_224 | FF_MODE2_TDS_TIMER_128,
619+
0);
617620

618621
/* WaDisableGPGPUMidThreadPreemption:tgl */
619622
WA_SET_FIELD_MASKED(GEN8_CS_CHICKEN1,

drivers/gpu/drm/i915/i915_reg.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8004,6 +8004,8 @@ enum {
80048004
#define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7)
80058005

80068006
#define FF_MODE2 _MMIO(0x6604)
8007+
#define FF_MODE2_GS_TIMER_MASK REG_GENMASK(31, 24)
8008+
#define FF_MODE2_GS_TIMER_224 REG_FIELD_PREP(FF_MODE2_GS_TIMER_MASK, 224)
80078009
#define FF_MODE2_TDS_TIMER_MASK REG_GENMASK(23, 16)
80088010
#define FF_MODE2_TDS_TIMER_128 REG_FIELD_PREP(FF_MODE2_TDS_TIMER_MASK, 4)
80098011

0 commit comments

Comments
 (0)