drm/i915: Implement ReadHitWriteOnlyDisable.
authorRafael Antognolli <rafael.antognolli@intel.com>
Fri, 3 Nov 2017 18:30:27 +0000 (11:30 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 8 Nov 2017 20:43:17 +0000 (12:43 -0800)
commit0a60797a0efbc495f514304d83eb289bb55990a6
treea43c8c06ca3bdc29c73ee3b9c76490af7d522a3c
parentf72b84c677d61f201b869223a8d6e389c7bb7d3d
drm/i915: Implement ReadHitWriteOnlyDisable.

The workaround for this is described as:

"if RenderSurfaceState.Num_Multisamples > 1, disable RCC clock gating if
RenderSurfaceState.Num_Multisamples == 1, set 0x7010[14] = 1"

Further documentation in the internal bug referenced by the bspec
suggest that any of the above suggestions should suffice to fix the
issue. We are going with disabling RCC clock gating.

Unfortunately, what we are doing doesn't match the name of the
workaround, but at least it matches its description.

This change improves CNL stability by avoiding some of the hangs seen in
the platform.

v2: Only disable RCC clock gating.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171103183027.5051-1-rafael.antognolli@intel.com
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_engine_cs.c