When a DP monitor is plugged back in, it needs to be retrained if it was
active before.

Signed-off-by: Keith Packard <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index c9dd28b..88a3906 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -47,6 +47,7 @@ struct intel_dp_priv {
        uint32_t save_DP;
        uint8_t  save_link_configuration[DP_LINK_CONFIGURATION_SIZE];
        bool has_audio;
+       int dpms_mode;
        uint8_t link_bw;
        uint8_t lane_count;
        uint8_t dpcd[4];
@@ -546,6 +547,7 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
                if (!(dp_reg & DP_PORT_EN))
                        intel_dp_link_train(intel_output, dp_priv->DP, 
dp_priv->link_configuration);
        }
+       dp_priv->dpms_mode = mode;
 }
 
 /*
@@ -1103,6 +1105,7 @@ intel_dp_init(struct drm_device *dev, int output_reg)
        dp_priv->intel_output = intel_output;
        dp_priv->output_reg = output_reg;
        dp_priv->has_audio = false;
+       dp_priv->dpms_mode = DRM_MODE_DPMS_ON;
        intel_output->dev_priv = dp_priv;
 
        drm_encoder_init(dev, &intel_output->enc, &intel_dp_enc_funcs,
-- 
1.6.3.1


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to