updated on Thu Jan 26 00:18:00 UTC 2012
[aur-mirror.git] / kernel26-intelfix / intel_screenfix.diff
blob374b2843ec620ac6761dedc65c6d5a69a56011f1
1 diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
2 index 9ab8708..2f18028 100644
3 --- a/drivers/gpu/drm/i915/intel_dp.c
4 +++ b/drivers/gpu/drm/i915/intel_dp.c
5 @@ -892,21 +892,23 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
6 uint32_t dp_reg = I915_READ(intel_dp->output_reg);
8 if (mode != DRM_MODE_DPMS_ON) {
9 - if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) {
10 - ironlake_edp_backlight_off(dev);
11 - ironlake_edp_panel_off(dev);
12 - }
13 - if (dp_reg & DP_PORT_EN)
14 + if (dp_reg & DP_PORT_EN) {
15 intel_dp_link_down(intel_dp);
16 + if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) {
17 + ironlake_edp_backlight_off(dev);
18 + ironlake_edp_panel_off(dev);
19 + }
20 + }
21 if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp))
22 ironlake_edp_pll_off(encoder);
23 } else {
24 if (!(dp_reg & DP_PORT_EN)) {
25 - if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp))
26 - ironlake_edp_panel_on(dev);
27 intel_dp_link_train(intel_dp);
28 if (IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp))
29 + {
30 + ironlake_edp_panel_on(dev);
31 ironlake_edp_backlight_on(dev);
32 + }
35 intel_dp->dpms_mode = mode;