aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index f192f58708c2..79cf2d5f5a20 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4977,9 +4977,6 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
4977 intel_display_power_get(dev_priv, power_domain); 4977 intel_display_power_get(dev_priv, power_domain);
4978 4978
4979 if (long_hpd) { 4979 if (long_hpd) {
4980 /* indicate that we need to restart link training */
4981 intel_dp->train_set_valid = false;
4982
4983 intel_dp_long_pulse(intel_dp->attached_connector); 4980 intel_dp_long_pulse(intel_dp->attached_connector);
4984 if (intel_dp->is_mst) 4981 if (intel_dp->is_mst)
4985 ret = IRQ_HANDLED; 4982 ret = IRQ_HANDLED;
@@ -5725,8 +5722,11 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
5725 if (!fixed_mode && dev_priv->vbt.lfp_lvds_vbt_mode) { 5722 if (!fixed_mode && dev_priv->vbt.lfp_lvds_vbt_mode) {
5726 fixed_mode = drm_mode_duplicate(dev, 5723 fixed_mode = drm_mode_duplicate(dev,
5727 dev_priv->vbt.lfp_lvds_vbt_mode); 5724 dev_priv->vbt.lfp_lvds_vbt_mode);
5728 if (fixed_mode) 5725 if (fixed_mode) {
5729 fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; 5726 fixed_mode->type |= DRM_MODE_TYPE_PREFERRED;
5727 connector->display_info.width_mm = fixed_mode->width_mm;
5728 connector->display_info.height_mm = fixed_mode->height_mm;
5729 }
5730 } 5730 }
5731 mutex_unlock(&dev->mode_config.mutex); 5731 mutex_unlock(&dev->mode_config.mutex);
5732 5732
@@ -5923,9 +5923,9 @@ fail:
5923 return false; 5923 return false;
5924} 5924}
5925 5925
5926void 5926bool intel_dp_init(struct drm_device *dev,
5927intel_dp_init(struct drm_device *dev, 5927 i915_reg_t output_reg,
5928 i915_reg_t output_reg, enum port port) 5928 enum port port)
5929{ 5929{
5930 struct drm_i915_private *dev_priv = dev->dev_private; 5930 struct drm_i915_private *dev_priv = dev->dev_private;
5931 struct intel_digital_port *intel_dig_port; 5931 struct intel_digital_port *intel_dig_port;
@@ -5935,7 +5935,7 @@ intel_dp_init(struct drm_device *dev,
5935 5935
5936 intel_dig_port = kzalloc(sizeof(*intel_dig_port), GFP_KERNEL); 5936 intel_dig_port = kzalloc(sizeof(*intel_dig_port), GFP_KERNEL);
5937 if (!intel_dig_port) 5937 if (!intel_dig_port)
5938 return; 5938 return false;
5939 5939
5940 intel_connector = intel_connector_alloc(); 5940 intel_connector = intel_connector_alloc();
5941 if (!intel_connector) 5941 if (!intel_connector)
@@ -5992,7 +5992,7 @@ intel_dp_init(struct drm_device *dev,
5992 if (!intel_dp_init_connector(intel_dig_port, intel_connector)) 5992 if (!intel_dp_init_connector(intel_dig_port, intel_connector))
5993 goto err_init_connector; 5993 goto err_init_connector;
5994 5994
5995 return; 5995 return true;
5996 5996
5997err_init_connector: 5997err_init_connector:
5998 drm_encoder_cleanup(encoder); 5998 drm_encoder_cleanup(encoder);
@@ -6000,8 +6000,7 @@ err_encoder_init:
6000 kfree(intel_connector); 6000 kfree(intel_connector);
6001err_connector_alloc: 6001err_connector_alloc:
6002 kfree(intel_dig_port); 6002 kfree(intel_dig_port);
6003 6003 return false;
6004 return;
6005} 6004}
6006 6005
6007void intel_dp_mst_suspend(struct drm_device *dev) 6006void intel_dp_mst_suspend(struct drm_device *dev)