|
@@ -740,8 +740,11 @@ static void i915_restore_display(struct drm_device *dev)
|
|
|
if (HAS_PCH_SPLIT(dev)) {
|
|
|
I915_WRITE(BLC_PWM_PCH_CTL1, dev_priv->saveBLC_PWM_CTL);
|
|
|
I915_WRITE(BLC_PWM_PCH_CTL2, dev_priv->saveBLC_PWM_CTL2);
|
|
|
- I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL);
|
|
|
+ /* NOTE: BLC_PWM_CPU_CTL must be written after BLC_PWM_CPU_CTL2;
|
|
|
+ * otherwise we get blank eDP screen after S3 on some machines
|
|
|
+ */
|
|
|
I915_WRITE(BLC_PWM_CPU_CTL2, dev_priv->saveBLC_CPU_PWM_CTL2);
|
|
|
+ I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL);
|
|
|
I915_WRITE(PCH_PP_ON_DELAYS, dev_priv->savePP_ON_DELAYS);
|
|
|
I915_WRITE(PCH_PP_OFF_DELAYS, dev_priv->savePP_OFF_DELAYS);
|
|
|
I915_WRITE(PCH_PP_DIVISOR, dev_priv->savePP_DIVISOR);
|