diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index f192f58708c2..ffe5f8430957 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -5725,8 +5725,11 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp, | |||
5725 | if (!fixed_mode && dev_priv->vbt.lfp_lvds_vbt_mode) { | 5725 | if (!fixed_mode && dev_priv->vbt.lfp_lvds_vbt_mode) { |
5726 | fixed_mode = drm_mode_duplicate(dev, | 5726 | fixed_mode = drm_mode_duplicate(dev, |
5727 | dev_priv->vbt.lfp_lvds_vbt_mode); | 5727 | dev_priv->vbt.lfp_lvds_vbt_mode); |
5728 | if (fixed_mode) | 5728 | if (fixed_mode) { |
5729 | fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; | 5729 | fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; |
5730 | connector->display_info.width_mm = fixed_mode->width_mm; | ||
5731 | connector->display_info.height_mm = fixed_mode->height_mm; | ||
5732 | } | ||
5730 | } | 5733 | } |
5731 | mutex_unlock(&dev->mode_config.mutex); | 5734 | mutex_unlock(&dev->mode_config.mutex); |
5732 | 5735 | ||
@@ -5923,9 +5926,9 @@ fail: | |||
5923 | return false; | 5926 | return false; |
5924 | } | 5927 | } |
5925 | 5928 | ||
5926 | void | 5929 | bool intel_dp_init(struct drm_device *dev, |
5927 | intel_dp_init(struct drm_device *dev, | 5930 | i915_reg_t output_reg, |
5928 | i915_reg_t output_reg, enum port port) | 5931 | enum port port) |
5929 | { | 5932 | { |
5930 | struct drm_i915_private *dev_priv = dev->dev_private; | 5933 | struct drm_i915_private *dev_priv = dev->dev_private; |
5931 | struct intel_digital_port *intel_dig_port; | 5934 | struct intel_digital_port *intel_dig_port; |
@@ -5935,7 +5938,7 @@ intel_dp_init(struct drm_device *dev, | |||
5935 | 5938 | ||
5936 | intel_dig_port = kzalloc(sizeof(*intel_dig_port), GFP_KERNEL); | 5939 | intel_dig_port = kzalloc(sizeof(*intel_dig_port), GFP_KERNEL); |
5937 | if (!intel_dig_port) | 5940 | if (!intel_dig_port) |
5938 | return; | 5941 | return false; |
5939 | 5942 | ||
5940 | intel_connector = intel_connector_alloc(); | 5943 | intel_connector = intel_connector_alloc(); |
5941 | if (!intel_connector) | 5944 | if (!intel_connector) |
@@ -5992,7 +5995,7 @@ intel_dp_init(struct drm_device *dev, | |||
5992 | if (!intel_dp_init_connector(intel_dig_port, intel_connector)) | 5995 | if (!intel_dp_init_connector(intel_dig_port, intel_connector)) |
5993 | goto err_init_connector; | 5996 | goto err_init_connector; |
5994 | 5997 | ||
5995 | return; | 5998 | return true; |
5996 | 5999 | ||
5997 | err_init_connector: | 6000 | err_init_connector: |
5998 | drm_encoder_cleanup(encoder); | 6001 | drm_encoder_cleanup(encoder); |
@@ -6000,8 +6003,7 @@ err_encoder_init: | |||
6000 | kfree(intel_connector); | 6003 | kfree(intel_connector); |
6001 | err_connector_alloc: | 6004 | err_connector_alloc: |
6002 | kfree(intel_dig_port); | 6005 | kfree(intel_dig_port); |
6003 | 6006 | return false; | |
6004 | return; | ||
6005 | } | 6007 | } |
6006 | 6008 | ||
6007 | void intel_dp_mst_suspend(struct drm_device *dev) | 6009 | void intel_dp_mst_suspend(struct drm_device *dev) |