aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 9f134d2b7bec..449364187bc0 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -50,6 +50,7 @@ struct intel_dp {
50 bool has_audio; 50 bool has_audio;
51 int force_audio; 51 int force_audio;
52 uint32_t color_range; 52 uint32_t color_range;
53 int dpms_mode;
53 uint8_t link_bw; 54 uint8_t link_bw;
54 uint8_t lane_count; 55 uint8_t lane_count;
55 uint8_t dpcd[8]; 56 uint8_t dpcd[8];
@@ -1011,6 +1012,8 @@ static void intel_dp_commit(struct drm_encoder *encoder)
1011 1012
1012 if (is_edp(intel_dp)) 1013 if (is_edp(intel_dp))
1013 ironlake_edp_backlight_on(dev); 1014 ironlake_edp_backlight_on(dev);
1015
1016 intel_dp->dpms_mode = DRM_MODE_DPMS_ON;
1014} 1017}
1015 1018
1016static void 1019static void
@@ -1045,6 +1048,7 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
1045 if (is_edp(intel_dp)) 1048 if (is_edp(intel_dp))
1046 ironlake_edp_backlight_on(dev); 1049 ironlake_edp_backlight_on(dev);
1047 } 1050 }
1051 intel_dp->dpms_mode = mode;
1048} 1052}
1049 1053
1050/* 1054/*
@@ -1591,6 +1595,9 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
1591static void 1595static void
1592intel_dp_check_link_status(struct intel_dp *intel_dp) 1596intel_dp_check_link_status(struct intel_dp *intel_dp)
1593{ 1597{
1598 if (intel_dp->dpms_mode != DRM_MODE_DPMS_ON)
1599 return;
1600
1594 if (!intel_dp->base.base.crtc) 1601 if (!intel_dp->base.base.crtc)
1595 return; 1602 return;
1596 1603
@@ -1939,6 +1946,7 @@ intel_dp_init(struct drm_device *dev, int output_reg)
1939 return; 1946 return;
1940 1947
1941 intel_dp->output_reg = output_reg; 1948 intel_dp->output_reg = output_reg;
1949 intel_dp->dpms_mode = -1;
1942 1950
1943 intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); 1951 intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL);
1944 if (!intel_connector) { 1952 if (!intel_connector) {