diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index d1b4ece4df00..8061a48804a3 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
| @@ -840,20 +840,19 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode) | |||
| 840 | uint32_t dp_reg = I915_READ(intel_dp->output_reg); | 840 | uint32_t dp_reg = I915_READ(intel_dp->output_reg); |
| 841 | 841 | ||
| 842 | if (mode != DRM_MODE_DPMS_ON) { | 842 | if (mode != DRM_MODE_DPMS_ON) { |
| 843 | if (dp_reg & DP_PORT_EN) { | 843 | if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) { |
| 844 | intel_dp_link_down(intel_dp); | 844 | ironlake_edp_backlight_off(dev); |
| 845 | if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) { | 845 | ironlake_edp_panel_off(dev); |
| 846 | ironlake_edp_backlight_off(dev); | ||
| 847 | ironlake_edp_panel_off(dev); | ||
| 848 | } | ||
| 849 | } | 846 | } |
| 847 | if (dp_reg & DP_PORT_EN) | ||
| 848 | intel_dp_link_down(intel_dp); | ||
| 850 | } else { | 849 | } else { |
| 851 | if (!(dp_reg & DP_PORT_EN)) { | 850 | if (!(dp_reg & DP_PORT_EN)) { |
| 852 | intel_dp_link_train(intel_dp); | 851 | if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) |
| 853 | if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) { | ||
| 854 | ironlake_edp_panel_on(dev); | 852 | ironlake_edp_panel_on(dev); |
| 853 | intel_dp_link_train(intel_dp); | ||
| 854 | if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) | ||
| 855 | ironlake_edp_backlight_on(dev); | 855 | ironlake_edp_backlight_on(dev); |
| 856 | } | ||
| 857 | } | 856 | } |
| 858 | } | 857 | } |
| 859 | intel_dp->dpms_mode = mode; | 858 | intel_dp->dpms_mode = mode; |
