Rev 3482 | Rev 4104 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3482 | Rev 3746 | ||
---|---|---|---|
Line 196... | Line 196... | ||
196 | return MODE_CLOCK_HIGH; |
196 | return MODE_CLOCK_HIGH; |
Line 197... | Line 197... | ||
197 | 197 | ||
198 | return MODE_OK; |
198 | return MODE_OK; |
Line 199... | Line 199... | ||
199 | } |
199 | } |
200 | - | ||
201 | static bool intel_crt_mode_fixup(struct drm_encoder *encoder, |
200 | |
202 | const struct drm_display_mode *mode, |
201 | static bool intel_crt_compute_config(struct intel_encoder *encoder, |
- | 202 | struct intel_crtc_config *pipe_config) |
|
- | 203 | { |
|
- | 204 | struct drm_device *dev = encoder->base.dev; |
|
- | 205 | ||
- | 206 | if (HAS_PCH_SPLIT(dev)) |
|
203 | struct drm_display_mode *adjusted_mode) |
207 | pipe_config->has_pch_encoder = true; |
204 | { |
208 | |
Line 205... | Line 209... | ||
205 | return true; |
209 | return true; |
206 | } |
210 | } |
Line 673... | Line 677... | ||
673 | /* |
677 | /* |
674 | * Routines for controlling stuff on the analog port |
678 | * Routines for controlling stuff on the analog port |
675 | */ |
679 | */ |
Line 676... | Line 680... | ||
676 | 680 | ||
677 | static const struct drm_encoder_helper_funcs crt_encoder_funcs = { |
- | |
678 | .mode_fixup = intel_crt_mode_fixup, |
681 | static const struct drm_encoder_helper_funcs crt_encoder_funcs = { |
679 | .mode_set = intel_crt_mode_set, |
682 | .mode_set = intel_crt_mode_set, |
Line 680... | Line 683... | ||
680 | }; |
683 | }; |
681 | 684 | ||
Line 743... | Line 746... | ||
743 | else if (IS_VALLEYVIEW(dev)) |
746 | else if (IS_VALLEYVIEW(dev)) |
744 | crt->adpa_reg = VLV_ADPA; |
747 | crt->adpa_reg = VLV_ADPA; |
745 | else |
748 | else |
746 | crt->adpa_reg = ADPA; |
749 | crt->adpa_reg = ADPA; |
Line -... | Line 750... | ||
- | 750 | ||
747 | 751 | crt->base.compute_config = intel_crt_compute_config; |
|
748 | crt->base.disable = intel_disable_crt; |
752 | crt->base.disable = intel_disable_crt; |
- | 753 | crt->base.enable = intel_enable_crt; |
|
- | 754 | if (I915_HAS_HOTPLUG(dev)) |
|
749 | crt->base.enable = intel_enable_crt; |
755 | crt->base.hpd_pin = HPD_CRT; |
750 | if (HAS_DDI(dev)) |
756 | if (HAS_DDI(dev)) |
751 | crt->base.get_hw_state = intel_ddi_get_hw_state; |
757 | crt->base.get_hw_state = intel_ddi_get_hw_state; |
752 | else |
758 | else |
753 | crt->base.get_hw_state = intel_crt_get_hw_state; |
759 | crt->base.get_hw_state = intel_crt_get_hw_state; |
Line 756... | Line 762... | ||
756 | drm_encoder_helper_add(&crt->base.base, &crt_encoder_funcs); |
762 | drm_encoder_helper_add(&crt->base.base, &crt_encoder_funcs); |
757 | drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); |
763 | drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); |
Line 758... | Line 764... | ||
758 | 764 | ||
Line 759... | Line 765... | ||
759 | drm_sysfs_connector_add(connector); |
765 | drm_sysfs_connector_add(connector); |
760 | - | ||
761 | if (I915_HAS_HOTPLUG(dev)) |
- | |
762 | connector->polled = DRM_CONNECTOR_POLL_HPD; |
766 | |
Line 763... | Line 767... | ||
763 | else |
767 | if (!I915_HAS_HOTPLUG(dev)) |
764 | connector->polled = DRM_CONNECTOR_POLL_CONNECT; |
768 | intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT; |
765 | 769 | ||
766 | /* |
770 | /* |
Line 767... | Line -... | ||
767 | * Configure the automatic hotplug detection stuff |
- | |
768 | */ |
- | |
769 | crt->force_hotplug_required = 0; |
771 | * Configure the automatic hotplug detection stuff |
770 | 772 | */ |
|
771 | dev_priv->hotplug_supported_mask |= CRT_HOTPLUG_INT_STATUS; |
773 | crt->force_hotplug_required = 0; |
772 | 774 | ||
773 | /* |
775 | /* |