Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: Implement WaVSRefCountFullforceMissDisable

Implements WaVSRefCountFullforceMissDisable as documented in the BSpec
3D workarounds chapter.

Cc: Paulo Zanoni <przanoni@gmail.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

authored by

Ben Widawsky and committed by
Daniel Vetter
41c0b3a8 cb10799c

+5
+1
drivers/gpu/drm/i915/i915_reg.h
··· 741 741 #define GEN7_FF_TS_SCHED_HS0 (0x3<<16) 742 742 #define GEN7_FF_TS_SCHED_LOAD_BALANCE (0x1<<16) 743 743 #define GEN7_FF_TS_SCHED_HW (0x0<<16) /* Default */ 744 + #define GEN7_FF_VS_REF_CNT_FFME (1 << 15) 744 745 #define GEN7_FF_VS_SCHED_HS1 (0x5<<12) 745 746 #define GEN7_FF_VS_SCHED_HS0 (0x3<<12) 746 747 #define GEN7_FF_VS_SCHED_LOAD_BALANCE (0x1<<12) /* Default */
+4
drivers/gpu/drm/i915/intel_pm.c
··· 3680 3680 reg |= GEN7_FF_VS_SCHED_HW; 3681 3681 reg |= GEN7_FF_DS_SCHED_HW; 3682 3682 3683 + /* WaVSRefCountFullforceMissDisable */ 3684 + if (IS_HASWELL(dev_priv->dev)) 3685 + reg &= ~GEN7_FF_VS_REF_CNT_FFME; 3686 + 3683 3687 I915_WRITE(GEN7_FF_THREAD_MODE, reg); 3684 3688 } 3685 3689