static void
 tgl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal)
 {
+       /* Wa_1409420604:tgl */
+       if (IS_TGL_REVID(i915, TGL_REVID_A0, TGL_REVID_A0))
+               wa_write_or(wal,
+                           SUBSLICE_UNIT_LEVEL_CLKGATE2,
+                           CPSSUNIT_CLKGATE_DIS);
 }
 
 static void
 
 #define SUBSLICE_UNIT_LEVEL_CLKGATE    _MMIO(0x9524)
 #define  GWUNIT_CLKGATE_DIS            (1 << 16)
 
+#define SUBSLICE_UNIT_LEVEL_CLKGATE2   _MMIO(0x9528)
+#define  CPSSUNIT_CLKGATE_DIS          REG_BIT(9)
+
 #define UNSLICE_UNIT_LEVEL_CLKGATE     _MMIO(0x9434)
 #define  VFUNIT_CLKGATE_DIS            (1 << 20)