drm/i915: prefer 3-letter acronym for ivybridge
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / display / intel_crt.c
index 39cc6d7..cbe5978 100644 (file)
@@ -132,9 +132,9 @@ static void intel_crt_get_config(struct intel_encoder *encoder,
 {
        pipe_config->output_types |= BIT(INTEL_OUTPUT_ANALOG);
 
-       pipe_config->base.adjusted_mode.flags |= intel_crt_get_flags(encoder);
+       pipe_config->hw.adjusted_mode.flags |= intel_crt_get_flags(encoder);
 
-       pipe_config->base.adjusted_mode.crtc_clock = pipe_config->port_clock;
+       pipe_config->hw.adjusted_mode.crtc_clock = pipe_config->port_clock;
 }
 
 static void hsw_crt_get_config(struct intel_encoder *encoder,
@@ -144,13 +144,13 @@ static void hsw_crt_get_config(struct intel_encoder *encoder,
 
        intel_ddi_get_config(encoder, pipe_config);
 
-       pipe_config->base.adjusted_mode.flags &= ~(DRM_MODE_FLAG_PHSYNC |
+       pipe_config->hw.adjusted_mode.flags &= ~(DRM_MODE_FLAG_PHSYNC |
                                              DRM_MODE_FLAG_NHSYNC |
                                              DRM_MODE_FLAG_PVSYNC |
                                              DRM_MODE_FLAG_NVSYNC);
-       pipe_config->base.adjusted_mode.flags |= intel_crt_get_flags(encoder);
+       pipe_config->hw.adjusted_mode.flags |= intel_crt_get_flags(encoder);
 
-       pipe_config->base.adjusted_mode.crtc_clock = lpt_get_iclkip(dev_priv);
+       pipe_config->hw.adjusted_mode.crtc_clock = lpt_get_iclkip(dev_priv);
 }
 
 /* Note: The caller is required to filter out dpms modes not supported by the
@@ -161,8 +161,8 @@ static void intel_crt_set_dpms(struct intel_encoder *encoder,
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_crt *crt = intel_encoder_to_crt(encoder);
-       struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
-       const struct drm_display_mode *adjusted_mode = &crtc_state->base.adjusted_mode;
+       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
+       const struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
        u32 adpa;
 
        if (INTEL_GEN(dev_priv) >= 5)
@@ -241,6 +241,14 @@ static void hsw_post_disable_crt(struct intel_encoder *encoder,
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 
+       intel_crtc_vblank_off(old_crtc_state);
+
+       intel_disable_pipe(old_crtc_state);
+
+       intel_ddi_disable_transcoder_func(old_crtc_state);
+
+       ilk_pfit_disable(old_crtc_state);
+
        intel_ddi_disable_pipe_clock(old_crtc_state);
 
        pch_post_disable_crt(encoder, old_crtc_state, old_conn_state);
@@ -271,14 +279,14 @@ static void hsw_pre_enable_crt(struct intel_encoder *encoder,
                               const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
-       struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
+       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
        enum pipe pipe = crtc->pipe;
 
        WARN_ON(!crtc_state->has_pch_encoder);
 
        intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
 
-       dev_priv->display.fdi_link_train(crtc, crtc_state);
+       hsw_fdi_link_train(encoder, crtc_state);
 
        intel_ddi_enable_pipe_clock(crtc_state);
 }
@@ -288,7 +296,7 @@ static void hsw_enable_crt(struct intel_encoder *encoder,
                           const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
-       struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
+       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
        enum pipe pipe = crtc->pipe;
 
        WARN_ON(!crtc_state->has_pch_encoder);
@@ -343,7 +351,7 @@ intel_crt_mode_valid(struct drm_connector *connector,
 
        /* The FDI receiver on LPT only supports 8bpc and only has 2 lanes. */
        if (HAS_PCH_LPT(dev_priv) &&
-           (ironlake_get_lanes_required(mode->clock, 270000, 24) > 2))
+           ilk_get_lanes_required(mode->clock, 270000, 24) > 2)
                return MODE_CLOCK_HIGH;
 
        /* HSW/BDW FDI limited to 4k */
@@ -358,7 +366,7 @@ static int intel_crt_compute_config(struct intel_encoder *encoder,
                                    struct drm_connector_state *conn_state)
 {
        struct drm_display_mode *adjusted_mode =
-               &pipe_config->base.adjusted_mode;
+               &pipe_config->hw.adjusted_mode;
 
        if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
                return -EINVAL;
@@ -373,7 +381,7 @@ static int pch_crt_compute_config(struct intel_encoder *encoder,
                                  struct drm_connector_state *conn_state)
 {
        struct drm_display_mode *adjusted_mode =
-               &pipe_config->base.adjusted_mode;
+               &pipe_config->hw.adjusted_mode;
 
        if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
                return -EINVAL;
@@ -390,7 +398,7 @@ static int hsw_crt_compute_config(struct intel_encoder *encoder,
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct drm_display_mode *adjusted_mode =
-               &pipe_config->base.adjusted_mode;
+               &pipe_config->hw.adjusted_mode;
 
        if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
                return -EINVAL;
@@ -419,7 +427,7 @@ static int hsw_crt_compute_config(struct intel_encoder *encoder,
        return 0;
 }
 
-static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector)
+static bool ilk_crt_detect_hotplug(struct drm_connector *connector)
 {
        struct drm_device *dev = connector->dev;
        struct intel_crt *crt = intel_attached_crt(connector);
@@ -527,7 +535,7 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
        int i, tries = 0;
 
        if (HAS_PCH_SPLIT(dev_priv))
-               return intel_ironlake_crt_detect_hotplug(connector);
+               return ilk_crt_detect_hotplug(connector);
 
        if (IS_VALLEYVIEW(dev_priv))
                return valleyview_crt_detect_hotplug(connector);