We already do that as part of the ringbuffer re-setup at resume time.
Furthermore the register offset has moved on gen6+ around quite a bit,
and on ilk/gm45 we also need to restore the HWS reg for the bsd ring,
not just the render ring.
So again in kms mode this is only confusing a best, hence don't
bother.
v2: Fixup logic, noticed by Paulo Zanoni.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
mutex_lock(&dev->struct_mutex);
/* Hardware status page */
- dev_priv->saveHWS = I915_READ(HWS_PGA);
+ if (!drm_core_check_feature(dev, DRIVER_MODESET))
+ dev_priv->saveHWS = I915_READ(HWS_PGA);
i915_save_display(dev);
mutex_lock(&dev->struct_mutex);
/* Hardware status page */
- I915_WRITE(HWS_PGA, dev_priv->saveHWS);
+ if (!drm_core_check_feature(dev, DRIVER_MODESET))
+ I915_WRITE(HWS_PGA, dev_priv->saveHWS);
i915_restore_display(dev);