The implementation for this WA is same as WaSetHdcUnitClockGatingDisableInUcgctl6. Both of them are for BXT:A0 except that WaSetHdcUnitClockGatingDisableInUcgctl6 is applicable only when either SS0 or SS2 is active but if we apply the former WA then the latter one also gets applied irrespective of which SS is enabled. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/intel_pm.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 093a5e4..c73d37d 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -124,12 +124,17 @@ static void bxt_init_clock_gating(struct drm_device *dev) I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) | GEN8_SDEUNIT_CLOCK_GATE_DISABLE); - /* - * FIXME: - * GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ applies on 3x6 GT SKUs only. + /* WaSetHDCunitClckGatingDisable:bxt */ + /* WaSetHdcUnitClockGatingDisableInUcgctl6:bxt */ + /* The implementation is same for both of these WA except that + * WaSetHdcUnitClockGatingDisableInUcgctl6 is only applicable when + * either SS0 or SS2 is active but if we apply the first one then the + * second one also gets applied irrespective of which SS is enabled. */ - I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) | - GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ); + if (INTEL_REVID(dev) == BXT_REVID_A0) { + I915_WRITE(GEN8_UCGCTL6, (I915_READ(GEN8_UCGCTL6) | + GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ)); + } if (INTEL_REVID(dev) == BXT_REVID_A0) { /* -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx