@@ -820,7 +820,8 @@ int i915_save_state(struct drm_device *dev)
gen6_disable_rps(dev);
/* Memory Arbitration state */
- dev_priv->saveMI_ARB_STATE = I915_READ(MI_ARB_STATE);
+ if (IS_GEN3(dev))
+ dev_priv->saveMI_ARB_STATE = I915_READ(MI_ARB_STATE);
/* Scratch space */
for (i = 0; i < 16; i++) {
@@ -865,7 +866,8 @@ int i915_restore_state(struct drm_device *dev)
gen6_enable_rps(dev_priv);
/* Memory arbitration state */
- I915_WRITE (MI_ARB_STATE, dev_priv->saveMI_ARB_STATE | 0xffff0000);
+ if (IS_GEN3(dev))
+ I915_WRITE (MI_ARB_STATE, dev_priv->saveMI_ARB_STATE | 0xffff0000);
for (i = 0; i < 16; i++) {
I915_WRITE(SWF00 + (i << 2), dev_priv->saveSWF0[i]);