diff --git a/shared-core/i915_suspend.c b/shared-core/i915_suspend.c index 5e759b1..1264121 100644 --- a/shared-core/i915_suspend.c +++ b/shared-core/i915_suspend.c @@ -378,6 +378,12 @@ int i915_restore_state(struct drm_device *dev) I915_WRITE(DSPARB, dev_priv->saveDSPARB); + /* LVDS comes before PLLs */ + if (IS_MOBILE(dev) && !IS_I830(dev)) + I915_WRITE(LVDS, dev_priv->saveLVDS); + if (!IS_I830(dev) && !IS_845G(dev)) + I915_WRITE(PFIT_CONTROL, dev_priv->savePFIT_CONTROL); + /* Pipe & plane A info */ /* Prime the clock */ if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { @@ -469,10 +475,6 @@ int i915_restore_state(struct drm_device *dev) /* LVDS state */ if (IS_I965G(dev)) I915_WRITE(BLC_PWM_CTL2, dev_priv->saveBLC_PWM_CTL2); - if (IS_MOBILE(dev) && !IS_I830(dev)) - I915_WRITE(LVDS, dev_priv->saveLVDS); - if (!IS_I830(dev) && !IS_845G(dev)) - I915_WRITE(PFIT_CONTROL, dev_priv->savePFIT_CONTROL); I915_WRITE(PFIT_PGM_RATIOS, dev_priv->savePFIT_PGM_RATIOS); I915_WRITE(BLC_PWM_CTL, dev_priv->saveBLC_PWM_CTL);