Skip to content

Commit 2a39b07

Browse files
ideakjlahtine-intel
authored andcommitted
drm/i915: Restore GT coarse power gating workaround
The workaround to disable coarse power gating is still needed on SKL GT3/GT4 machines and since the RC6 context corruption was discovered by the hardware team also on all GEN9 machines. Restore applying the workaround. Fixes: c113236 ("drm/i915: Extract GT render sleep (rc6) management") Testcase: igt/intel_gt_pm_late_selftests/live_rc6_ctx Cc: Chris Wilson <[email protected]> Cc: Andi Shyti <[email protected]> Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 980f87a) Signed-off-by: Joonas Lahtinen <[email protected]>
1 parent 9faf5fa commit 2a39b07

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,13 @@ static void gen9_rc6_enable(struct intel_rc6 *rc6)
178178
GEN6_RC_CTL_RC6_ENABLE |
179179
rc6_mode);
180180

181-
set(uncore, GEN9_PG_ENABLE,
182-
GEN9_RENDER_PG_ENABLE | GEN9_MEDIA_PG_ENABLE);
181+
/*
182+
* WaRsDisableCoarsePowerGating:skl,cnl
183+
* - Render/Media PG need to be disabled with RC6.
184+
*/
185+
if (!NEEDS_WaRsDisableCoarsePowerGating(rc6_to_i915(rc6)))
186+
set(uncore, GEN9_PG_ENABLE,
187+
GEN9_RENDER_PG_ENABLE | GEN9_MEDIA_PG_ENABLE);
183188
}
184189

185190
static void gen8_rc6_enable(struct intel_rc6 *rc6)

0 commit comments

Comments
 (0)