aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2011-07-07 14:11:01 -0400
committerKeith Packard <keithp@keithp.com>2011-07-07 16:38:47 -0400
commit885a50147f00a8a80108904bf58a18af357717f3 (patch)
tree02c2bbe6483c50f5f8e5614b71dc5faad7bafdb2 /drivers
parent899526d9a73fda47516cf11ccb3467ad6702f568 (diff)
drm/i915/dp: remove DPMS mode tracking from DP
We currently use this when a hot plug event is received, only checking the link status and re-training if we had previously configured a link. However if we want to preserve the DP configuration across both hot plug and DPMS events (which we do for userspace apps that don't respond to hot plug uevents), we need to unconditionally check the link and try to bring it up on hot plug. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 70075d9900da..5f97c1751ff0 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -50,7 +50,6 @@ 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;
54 uint8_t link_bw; 53 uint8_t link_bw;
55 uint8_t lane_count; 54 uint8_t lane_count;
56 uint8_t dpcd[4]; 55 uint8_t dpcd[4];
@@ -1010,7 +1009,6 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
1010 if (is_edp(intel_dp)) 1009 if (is_edp(intel_dp))
1011 ironlake_edp_backlight_on(dev); 1010 ironlake_edp_backlight_on(dev);
1012 } 1011 }
1013 intel_dp->dpms_mode = mode;
1014} 1012}
1015 1013
1016/* 1014/*
@@ -1813,8 +1811,7 @@ intel_dp_hot_plug(struct intel_encoder *intel_encoder)
1813{ 1811{
1814 struct intel_dp *intel_dp = container_of(intel_encoder, struct intel_dp, base); 1812 struct intel_dp *intel_dp = container_of(intel_encoder, struct intel_dp, base);
1815 1813
1816 if (intel_dp->dpms_mode == DRM_MODE_DPMS_ON) 1814 intel_dp_check_link_status(intel_dp);
1817 intel_dp_check_link_status(intel_dp);
1818} 1815}
1819 1816
1820/* Return which DP Port should be selected for Transcoder DP control */ 1817/* Return which DP Port should be selected for Transcoder DP control */
@@ -1882,7 +1879,6 @@ intel_dp_init(struct drm_device *dev, int output_reg)
1882 return; 1879 return;
1883 1880
1884 intel_dp->output_reg = output_reg; 1881 intel_dp->output_reg = output_reg;
1885 intel_dp->dpms_mode = -1;
1886 1882
1887 intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL); 1883 intel_connector = kzalloc(sizeof(struct intel_connector), GFP_KERNEL);
1888 if (!intel_connector) { 1884 if (!intel_connector) {