|
@@ -4877,11 +4877,14 @@ static void gen9_enable_rc6(struct drm_device *dev)
|
|
|
|
|
|
/*
|
|
|
* 3b: Enable Coarse Power Gating only when RC6 is enabled.
|
|
|
- * WaDisableRenderPowerGating:skl,bxt - Render PG need to be disabled with RC6.
|
|
|
+ * WaRsDisableCoarsePowerGating:skl,bxt - Render/Media PG need to be disabled with RC6.
|
|
|
*/
|
|
|
- I915_WRITE(GEN9_PG_ENABLE, (rc6_mask & GEN6_RC_CTL_RC6_ENABLE) ?
|
|
|
- GEN9_MEDIA_PG_ENABLE : 0);
|
|
|
-
|
|
|
+ if ((IS_BROXTON(dev) && (INTEL_REVID(dev) < BXT_REVID_B0)) ||
|
|
|
+ ((IS_SKL_GT3(dev) || IS_SKL_GT4(dev)) && (INTEL_REVID(dev) <= SKL_REVID_E0)))
|
|
|
+ I915_WRITE(GEN9_PG_ENABLE, 0);
|
|
|
+ else
|
|
|
+ I915_WRITE(GEN9_PG_ENABLE, (rc6_mask & GEN6_RC_CTL_RC6_ENABLE) ?
|
|
|
+ (GEN9_RENDER_PG_ENABLE | GEN9_MEDIA_PG_ENABLE) : 0);
|
|
|
|
|
|
intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
|
|
|
|