From: Ben Widawsky Date: Sun, 3 Nov 2013 04:07:40 +0000 (-0700) Subject: drm/i915/bdw: Implement WaSwitchSolVfFArbitrationPriority X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=50ed5fbd9dcd6e8531cc34bb2a1e2c01ea00697d;p=openwrt%2Fstaging%2Fblogic.git drm/i915/bdw: Implement WaSwitchSolVfFArbitrationPriority GEN8 also needs this workaround. Signed-off-by: Ben Widawsky [danvet: Add a generic comment that we need to recheck all these w/a.] Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index b9496abd76dc..b05f141a5a0e 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -5188,6 +5188,12 @@ static void gen8_init_clock_gating(struct drm_device *dev) I915_WRITE(WM3_LP_ILK, 0); I915_WRITE(WM2_LP_ILK, 0); I915_WRITE(WM1_LP_ILK, 0); + + /* FIXME(BDW): Check all the w/a, some might only apply to + * pre-production hw. */ + + /* WaSwitchSolVfFArbitrationPriority */ + I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) | HSW_ECOCHK_ARB_PRIO_SOL); } static void haswell_init_clock_gating(struct drm_device *dev)