@@ -268,9 +268,9 @@ static void i915_restore_display(struct drm_device *dev)
I915_WRITE(BLC_PWM_CTL2, dev_priv->regfile.saveBLC_PWM_CTL2);
if (HAS_PCH_SPLIT(dev)) {
- I915_WRITE(PCH_LVDS, dev_priv->regfile.saveLVDS);
+ I915_WRITE(PCH_LVDS, dev_priv->regfile.saveLVDS & 0x7fffffff);
} else if (IS_MOBILE(dev) && !IS_I830(dev))
- I915_WRITE(LVDS, dev_priv->regfile.saveLVDS);
+ I915_WRITE(LVDS, dev_priv->regfile.saveLVDS & 0x7fffffff);
if (!IS_I830(dev) && !IS_845G(dev) && !HAS_PCH_SPLIT(dev))
I915_WRITE(PFIT_CONTROL, dev_priv->regfile.savePFIT_CONTROL);
We still rely on a few LVDS bits, but restoring the enable bit can cause trouble at this point, so don't. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> --- drivers/gpu/drm/i915/i915_suspend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)