struct drm_device *dev = crtc->dev;
        if (HAS_PCH_SPLIT(dev)) {
                /* FDI link clock is fixed at 2.7G */
 -              if (mode->clock * 3 > 27000 * 4)
 -                      return MODE_CLOCK_HIGH;
 +              if (mode->clock * 3 > IRONLAKE_FDI_FREQ * 4)
 +                      return false;
        }
- 
-       drm_mode_set_crtcinfo(adjusted_mode, 0);
        return true;
  }
  
 
        if (mode != DRM_MODE_DPMS_ON) {
                if (dp_reg & DP_PORT_EN) {
                        intel_dp_link_down(intel_encoder, dp_priv->DP);
-                       if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv))
 -                      if (IS_eDP(intel_encoder)) {
++                      if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv)) {
                                ironlake_edp_backlight_off(dev);
+                               ironlake_edp_panel_off(dev);
+                       }
                }
        } else {
                if (!(dp_reg & DP_PORT_EN)) {
                        intel_dp_link_train(intel_encoder, dp_priv->DP, dp_priv->link_configuration);
-                       if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv))
 -                      if (IS_eDP(intel_encoder)) {
++                      if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv)) {
+                               ironlake_edp_panel_on(dev);
                                ironlake_edp_backlight_on(dev);
+                       }
                }
        }
        dp_priv->dpms_mode = mode;