|
|
@@ -4471,9 +4471,15 @@ i915_gem_init_hw(struct drm_device *dev)
|
|
|
LOWER_SLICE_ENABLED : LOWER_SLICE_DISABLED);
|
|
|
|
|
|
if (HAS_PCH_NOP(dev)) {
|
|
|
- u32 temp = I915_READ(GEN7_MSG_CTL);
|
|
|
- temp &= ~(WAIT_FOR_PCH_FLR_ACK | WAIT_FOR_PCH_RESET_ACK);
|
|
|
- I915_WRITE(GEN7_MSG_CTL, temp);
|
|
|
+ if (IS_IVYBRIDGE(dev)) {
|
|
|
+ u32 temp = I915_READ(GEN7_MSG_CTL);
|
|
|
+ temp &= ~(WAIT_FOR_PCH_FLR_ACK | WAIT_FOR_PCH_RESET_ACK);
|
|
|
+ I915_WRITE(GEN7_MSG_CTL, temp);
|
|
|
+ } else if (INTEL_INFO(dev)->gen >= 7) {
|
|
|
+ u32 temp = I915_READ(HSW_NDE_RSTWRN_OPT);
|
|
|
+ temp &= ~RESET_PCH_HANDSHAKE_ENABLE;
|
|
|
+ I915_WRITE(HSW_NDE_RSTWRN_OPT, temp);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
i915_gem_init_swizzling(dev);
|