diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_crt.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_crt.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 1ce45a0a2d3e..1d8d63aff444 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
@@ -199,10 +199,14 @@ static int intel_crt_mode_valid(struct drm_connector *connector, | |||
199 | return MODE_OK; | 199 | return MODE_OK; |
200 | } | 200 | } |
201 | 201 | ||
202 | static bool intel_crt_mode_fixup(struct drm_encoder *encoder, | 202 | static bool intel_crt_compute_config(struct intel_encoder *encoder, |
203 | const struct drm_display_mode *mode, | 203 | struct intel_crtc_config *pipe_config) |
204 | struct drm_display_mode *adjusted_mode) | ||
205 | { | 204 | { |
205 | struct drm_device *dev = encoder->base.dev; | ||
206 | |||
207 | if (HAS_PCH_SPLIT(dev)) | ||
208 | pipe_config->has_pch_encoder = true; | ||
209 | |||
206 | return true; | 210 | return true; |
207 | } | 211 | } |
208 | 212 | ||
@@ -676,7 +680,6 @@ static void intel_crt_reset(struct drm_connector *connector) | |||
676 | */ | 680 | */ |
677 | 681 | ||
678 | static const struct drm_encoder_helper_funcs crt_encoder_funcs = { | 682 | static const struct drm_encoder_helper_funcs crt_encoder_funcs = { |
679 | .mode_fixup = intel_crt_mode_fixup, | ||
680 | .mode_set = intel_crt_mode_set, | 683 | .mode_set = intel_crt_mode_set, |
681 | }; | 684 | }; |
682 | 685 | ||
@@ -768,8 +771,11 @@ void intel_crt_init(struct drm_device *dev) | |||
768 | else | 771 | else |
769 | crt->adpa_reg = ADPA; | 772 | crt->adpa_reg = ADPA; |
770 | 773 | ||
774 | crt->base.compute_config = intel_crt_compute_config; | ||
771 | crt->base.disable = intel_disable_crt; | 775 | crt->base.disable = intel_disable_crt; |
772 | crt->base.enable = intel_enable_crt; | 776 | crt->base.enable = intel_enable_crt; |
777 | if (I915_HAS_HOTPLUG(dev)) | ||
778 | crt->base.hpd_pin = HPD_CRT; | ||
773 | if (HAS_DDI(dev)) | 779 | if (HAS_DDI(dev)) |
774 | crt->base.get_hw_state = intel_ddi_get_hw_state; | 780 | crt->base.get_hw_state = intel_ddi_get_hw_state; |
775 | else | 781 | else |
@@ -791,8 +797,6 @@ void intel_crt_init(struct drm_device *dev) | |||
791 | */ | 797 | */ |
792 | crt->force_hotplug_required = 0; | 798 | crt->force_hotplug_required = 0; |
793 | 799 | ||
794 | dev_priv->hotplug_supported_mask |= CRT_HOTPLUG_INT_STATUS; | ||
795 | |||
796 | /* | 800 | /* |
797 | * TODO: find a proper way to discover whether we need to set the the | 801 | * TODO: find a proper way to discover whether we need to set the the |
798 | * polarity and link reversal bits or not, instead of relying on the | 802 | * polarity and link reversal bits or not, instead of relying on the |