/* Note: The caller is required to filter out dpms modes not supported by the
  * platform. */
 static void intel_crt_set_dpms(struct intel_encoder *encoder,
-                              struct intel_crtc_state *crtc_state,
+                              const struct intel_crtc_state *crtc_state,
                               int mode)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 }
 
 static void intel_disable_crt(struct intel_encoder *encoder,
-                             struct intel_crtc_state *old_crtc_state,
-                             struct drm_connector_state *old_conn_state)
+                             const struct intel_crtc_state *old_crtc_state,
+                             const struct drm_connector_state *old_conn_state)
 {
        intel_crt_set_dpms(encoder, old_crtc_state, DRM_MODE_DPMS_OFF);
 }
 
 static void pch_disable_crt(struct intel_encoder *encoder,
-                           struct intel_crtc_state *old_crtc_state,
-                           struct drm_connector_state *old_conn_state)
+                           const struct intel_crtc_state *old_crtc_state,
+                           const struct drm_connector_state *old_conn_state)
 {
 }
 
 static void pch_post_disable_crt(struct intel_encoder *encoder,
-                                struct intel_crtc_state *old_crtc_state,
-                                struct drm_connector_state *old_conn_state)
+                                const struct intel_crtc_state *old_crtc_state,
+                                const struct drm_connector_state *old_conn_state)
 {
        intel_disable_crt(encoder, old_crtc_state, old_conn_state);
 }
 
 static void hsw_post_disable_crt(struct intel_encoder *encoder,
-                                struct intel_crtc_state *old_crtc_state,
-                                struct drm_connector_state *old_conn_state)
+                                const struct intel_crtc_state *old_crtc_state,
+                                const struct drm_connector_state *old_conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 
 }
 
 static void intel_enable_crt(struct intel_encoder *encoder,
-                            struct intel_crtc_state *pipe_config,
-                            struct drm_connector_state *conn_state)
+                            const struct intel_crtc_state *pipe_config,
+                            const struct drm_connector_state *conn_state)
 {
        intel_crt_set_dpms(encoder, pipe_config, DRM_MODE_DPMS_ON);
 }
 
        DRM_ERROR("Timeout waiting for DDI BUF %c idle bit\n", port_name(port));
 }
 
-static uint32_t hsw_pll_to_ddi_pll_sel(struct intel_shared_dpll *pll)
+static uint32_t hsw_pll_to_ddi_pll_sel(const struct intel_shared_dpll *pll)
 {
        switch (pll->id) {
        case DPLL_ID_WRPLL1:
 }
 
 static void intel_ddi_clk_select(struct intel_encoder *encoder,
-                                struct intel_shared_dpll *pll)
+                                const struct intel_shared_dpll *pll)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        enum port port = intel_ddi_get_encoder_port(encoder);
                                      bool has_infoframe,
                                      const struct intel_crtc_state *crtc_state,
                                      const struct drm_connector_state *conn_state,
-                                     struct intel_shared_dpll *pll)
+                                     const struct intel_shared_dpll *pll)
 {
        struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
        struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
 }
 
 static void intel_ddi_pre_enable(struct intel_encoder *encoder,
-                                struct intel_crtc_state *pipe_config,
-                                struct drm_connector_state *conn_state)
+                                const struct intel_crtc_state *pipe_config,
+                                const struct drm_connector_state *conn_state)
 {
        int type = encoder->type;
 
 }
 
 static void intel_ddi_post_disable(struct intel_encoder *intel_encoder,
-                                  struct intel_crtc_state *old_crtc_state,
-                                  struct drm_connector_state *old_conn_state)
+                                  const struct intel_crtc_state *old_crtc_state,
+                                  const struct drm_connector_state *old_conn_state)
 {
        struct drm_encoder *encoder = &intel_encoder->base;
        struct drm_i915_private *dev_priv = to_i915(encoder->dev);
 }
 
 void intel_ddi_fdi_post_disable(struct intel_encoder *encoder,
-                               struct intel_crtc_state *old_crtc_state,
-                               struct drm_connector_state *old_conn_state)
+                               const struct intel_crtc_state *old_crtc_state,
+                               const struct drm_connector_state *old_conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        uint32_t val;
 }
 
 static void intel_enable_ddi(struct intel_encoder *intel_encoder,
-                            struct intel_crtc_state *pipe_config,
-                            struct drm_connector_state *conn_state)
+                            const struct intel_crtc_state *pipe_config,
+                            const struct drm_connector_state *conn_state)
 {
        struct drm_encoder *encoder = &intel_encoder->base;
        struct drm_i915_private *dev_priv = to_i915(encoder->dev);
 }
 
 static void intel_disable_ddi(struct intel_encoder *intel_encoder,
-                             struct intel_crtc_state *old_crtc_state,
-                             struct drm_connector_state *old_conn_state)
+                             const struct intel_crtc_state *old_crtc_state,
+                             const struct drm_connector_state *old_conn_state)
 {
        struct drm_encoder *encoder = &intel_encoder->base;
        int type = intel_encoder->type;
 }
 
 static void bxt_ddi_pre_pll_enable(struct intel_encoder *encoder,
-                                  struct intel_crtc_state *pipe_config,
-                                  struct drm_connector_state *conn_state)
+                                  const struct intel_crtc_state *pipe_config,
+                                  const struct drm_connector_state *conn_state)
 {
        uint8_t mask = pipe_config->lane_lat_optim_mask;
 
 
 }
 
 static void intel_dp_prepare(struct intel_encoder *encoder,
-                            struct intel_crtc_state *pipe_config)
+                            const struct intel_crtc_state *pipe_config)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 #define assert_edp_pll_disabled(d) assert_edp_pll((d), false)
 
 static void ironlake_edp_pll_on(struct intel_dp *intel_dp,
-                               struct intel_crtc_state *pipe_config)
+                               const struct intel_crtc_state *pipe_config)
 {
        struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc);
        struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
 }
 
 static void intel_disable_dp(struct intel_encoder *encoder,
-                            struct intel_crtc_state *old_crtc_state,
-                            struct drm_connector_state *old_conn_state)
+                            const struct intel_crtc_state *old_crtc_state,
+                            const struct drm_connector_state *old_conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 }
 
 static void ilk_post_disable_dp(struct intel_encoder *encoder,
-                               struct intel_crtc_state *old_crtc_state,
-                               struct drm_connector_state *old_conn_state)
+                               const struct intel_crtc_state *old_crtc_state,
+                               const struct drm_connector_state *old_conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        enum port port = dp_to_dig_port(intel_dp)->port;
 }
 
 static void vlv_post_disable_dp(struct intel_encoder *encoder,
-                               struct intel_crtc_state *old_crtc_state,
-                               struct drm_connector_state *old_conn_state)
+                               const struct intel_crtc_state *old_crtc_state,
+                               const struct drm_connector_state *old_conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
 
 }
 
 static void chv_post_disable_dp(struct intel_encoder *encoder,
-                               struct intel_crtc_state *old_crtc_state,
-                               struct drm_connector_state *old_conn_state)
+                               const struct intel_crtc_state *old_crtc_state,
+                               const struct drm_connector_state *old_conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        struct drm_device *dev = encoder->base.dev;
 }
 
 static void intel_dp_enable_port(struct intel_dp *intel_dp,
-                                struct intel_crtc_state *old_crtc_state)
+                                const struct intel_crtc_state *old_crtc_state)
 {
        struct drm_device *dev = intel_dp_to_dev(intel_dp);
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void intel_enable_dp(struct intel_encoder *encoder,
-                           struct intel_crtc_state *pipe_config,
-                           struct drm_connector_state *conn_state)
+                           const struct intel_crtc_state *pipe_config,
+                           const struct drm_connector_state *conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        struct drm_device *dev = encoder->base.dev;
 }
 
 static void g4x_enable_dp(struct intel_encoder *encoder,
-                         struct intel_crtc_state *pipe_config,
-                         struct drm_connector_state *conn_state)
+                         const struct intel_crtc_state *pipe_config,
+                         const struct drm_connector_state *conn_state)
 {
        intel_enable_dp(encoder, pipe_config, conn_state);
        intel_edp_backlight_on(pipe_config, conn_state);
 }
 
 static void vlv_enable_dp(struct intel_encoder *encoder,
-                         struct intel_crtc_state *pipe_config,
-                         struct drm_connector_state *conn_state)
+                         const struct intel_crtc_state *pipe_config,
+                         const struct drm_connector_state *conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
 
 }
 
 static void g4x_pre_enable_dp(struct intel_encoder *encoder,
-                             struct intel_crtc_state *pipe_config,
-                             struct drm_connector_state *conn_state)
+                             const struct intel_crtc_state *pipe_config,
+                             const struct drm_connector_state *conn_state)
 {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        enum port port = dp_to_dig_port(intel_dp)->port;
 }
 
 static void vlv_pre_enable_dp(struct intel_encoder *encoder,
-                             struct intel_crtc_state *pipe_config,
-                             struct drm_connector_state *conn_state)
+                             const struct intel_crtc_state *pipe_config,
+                             const struct drm_connector_state *conn_state)
 {
        vlv_phy_pre_encoder_enable(encoder);
 
 }
 
 static void vlv_dp_pre_pll_enable(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *pipe_config,
-                                 struct drm_connector_state *conn_state)
+                                 const struct intel_crtc_state *pipe_config,
+                                 const struct drm_connector_state *conn_state)
 {
        intel_dp_prepare(encoder, pipe_config);
 
 }
 
 static void chv_pre_enable_dp(struct intel_encoder *encoder,
-                             struct intel_crtc_state *pipe_config,
-                             struct drm_connector_state *conn_state)
+                             const struct intel_crtc_state *pipe_config,
+                             const struct drm_connector_state *conn_state)
 {
        chv_phy_pre_encoder_enable(encoder);
 
 }
 
 static void chv_dp_pre_pll_enable(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *pipe_config,
-                                 struct drm_connector_state *conn_state)
+                                 const struct intel_crtc_state *pipe_config,
+                                 const struct drm_connector_state *conn_state)
 {
        intel_dp_prepare(encoder, pipe_config);
 
 }
 
 static void chv_dp_post_pll_disable(struct intel_encoder *encoder,
-                                   struct intel_crtc_state *pipe_config,
-                                   struct drm_connector_state *conn_state)
+                                   const struct intel_crtc_state *pipe_config,
+                                   const struct drm_connector_state *conn_state)
 {
        chv_phy_post_pll_disable(encoder);
 }
  * The caller of this function needs to take a lock on dev_priv->drrs.
  */
 static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,
-                                   struct intel_crtc_state *crtc_state,
+                                   const struct intel_crtc_state *crtc_state,
                                    int refresh_rate)
 {
        struct intel_encoder *encoder;
  * Initializes frontbuffer_bits and drrs.dp
  */
 void intel_edp_drrs_enable(struct intel_dp *intel_dp,
-                          struct intel_crtc_state *crtc_state)
+                          const struct intel_crtc_state *crtc_state)
 {
        struct drm_device *dev = intel_dp_to_dev(intel_dp);
        struct drm_i915_private *dev_priv = to_i915(dev);
  *
  */
 void intel_edp_drrs_disable(struct intel_dp *intel_dp,
-                           struct intel_crtc_state *old_crtc_state)
+                           const struct intel_crtc_state *old_crtc_state)
 {
        struct drm_device *dev = intel_dp_to_dev(intel_dp);
        struct drm_i915_private *dev_priv = to_i915(dev);
 
 }
 
 static void intel_mst_disable_dp(struct intel_encoder *encoder,
-                                struct intel_crtc_state *old_crtc_state,
-                                struct drm_connector_state *old_conn_state)
+                                const struct intel_crtc_state *old_crtc_state,
+                                const struct drm_connector_state *old_conn_state)
 {
        struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
        struct intel_digital_port *intel_dig_port = intel_mst->primary;
 }
 
 static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
-                                     struct intel_crtc_state *old_crtc_state,
-                                     struct drm_connector_state *old_conn_state)
+                                     const struct intel_crtc_state *old_crtc_state,
+                                     const struct drm_connector_state *old_conn_state)
 {
        struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
        struct intel_digital_port *intel_dig_port = intel_mst->primary;
 }
 
 static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
-                                   struct intel_crtc_state *pipe_config,
-                                   struct drm_connector_state *conn_state)
+                                   const struct intel_crtc_state *pipe_config,
+                                   const struct drm_connector_state *conn_state)
 {
        struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
        struct intel_digital_port *intel_dig_port = intel_mst->primary;
 }
 
 static void intel_mst_enable_dp(struct intel_encoder *encoder,
-                               struct intel_crtc_state *pipe_config,
-                               struct drm_connector_state *conn_state)
+                               const struct intel_crtc_state *pipe_config,
+                               const struct drm_connector_state *conn_state)
 {
        struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
        struct intel_digital_port *intel_dig_port = intel_mst->primary;
 
                               struct intel_crtc_state *,
                               struct drm_connector_state *);
        void (*pre_pll_enable)(struct intel_encoder *,
-                              struct intel_crtc_state *,
-                              struct drm_connector_state *);
+                              const struct intel_crtc_state *,
+                              const struct drm_connector_state *);
        void (*pre_enable)(struct intel_encoder *,
-                          struct intel_crtc_state *,
-                          struct drm_connector_state *);
+                          const struct intel_crtc_state *,
+                          const struct drm_connector_state *);
        void (*enable)(struct intel_encoder *,
-                      struct intel_crtc_state *,
-                      struct drm_connector_state *);
+                      const struct intel_crtc_state *,
+                      const struct drm_connector_state *);
        void (*disable)(struct intel_encoder *,
-                       struct intel_crtc_state *,
-                       struct drm_connector_state *);
+                       const struct intel_crtc_state *,
+                       const struct drm_connector_state *);
        void (*post_disable)(struct intel_encoder *,
-                            struct intel_crtc_state *,
-                            struct drm_connector_state *);
+                            const struct intel_crtc_state *,
+                            const struct drm_connector_state *);
        void (*post_pll_disable)(struct intel_encoder *,
-                                struct intel_crtc_state *,
-                                struct drm_connector_state *);
+                                const struct intel_crtc_state *,
+                                const struct drm_connector_state *);
        /* Read out the current hw state of this connector, returning true if
         * the encoder is active. If the encoder is enabled it also set the pipe
         * it is connected to in the pipe parameter. */
 
 /* intel_ddi.c */
 void intel_ddi_fdi_post_disable(struct intel_encoder *intel_encoder,
-                               struct intel_crtc_state *old_crtc_state,
-                               struct drm_connector_state *old_conn_state);
+                               const struct intel_crtc_state *old_crtc_state,
+                               const struct drm_connector_state *old_conn_state);
 void hsw_fdi_link_train(struct intel_crtc *crtc,
                        const struct intel_crtc_state *crtc_state);
 void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port);
 uint32_t intel_dp_pack_aux(const uint8_t *src, int src_bytes);
 void intel_plane_destroy(struct drm_plane *plane);
 void intel_edp_drrs_enable(struct intel_dp *intel_dp,
-                          struct intel_crtc_state *crtc_state);
+                          const struct intel_crtc_state *crtc_state);
 void intel_edp_drrs_disable(struct intel_dp *intel_dp,
-                          struct intel_crtc_state *crtc_state);
+                           const struct intel_crtc_state *crtc_state);
 void intel_edp_drrs_invalidate(struct drm_i915_private *dev_priv,
                               unsigned int frontbuffer_bits);
 void intel_edp_drrs_flush(struct drm_i915_private *dev_priv,
 
 }
 
 static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
-                             struct intel_crtc_state *pipe_config);
+                             const struct intel_crtc_state *pipe_config);
 static void intel_dsi_unprepare(struct intel_encoder *encoder);
 
 static void intel_dsi_msleep(struct intel_dsi *intel_dsi, int msec)
  */
 
 static void intel_dsi_pre_enable(struct intel_encoder *encoder,
-                                struct intel_crtc_state *pipe_config,
-                                struct drm_connector_state *conn_state)
+                                const struct intel_crtc_state *pipe_config,
+                                const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
  * the pre_enable hook.
  */
 static void intel_dsi_enable_nop(struct intel_encoder *encoder,
-                                struct intel_crtc_state *pipe_config,
-                                struct drm_connector_state *conn_state)
+                                const struct intel_crtc_state *pipe_config,
+                                const struct drm_connector_state *conn_state)
 {
        DRM_DEBUG_KMS("\n");
 }
  * the post_disable hook.
  */
 static void intel_dsi_disable(struct intel_encoder *encoder,
-                             struct intel_crtc_state *old_crtc_state,
-                             struct drm_connector_state *old_conn_state)
+                             const struct intel_crtc_state *old_crtc_state,
+                             const struct drm_connector_state *old_conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
 }
 
 static void intel_dsi_post_disable(struct intel_encoder *encoder,
-                                  struct intel_crtc_state *pipe_config,
-                                  struct drm_connector_state *conn_state)
+                                  const struct intel_crtc_state *pipe_config,
+                                  const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
 }
 
 static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
-                                struct intel_crtc_state *pipe_config)
+                                   struct intel_crtc_state *pipe_config)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
-                             struct intel_crtc_state *pipe_config)
+                             const struct intel_crtc_state *pipe_config)
 {
        struct drm_encoder *encoder = &intel_encoder->base;
        struct drm_device *dev = encoder->dev;
 
 }
 
 static void intel_disable_dvo(struct intel_encoder *encoder,
-                             struct intel_crtc_state *old_crtc_state,
-                             struct drm_connector_state *old_conn_state)
+                             const struct intel_crtc_state *old_crtc_state,
+                             const struct drm_connector_state *old_conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_dvo *intel_dvo = enc_to_dvo(encoder);
 }
 
 static void intel_enable_dvo(struct intel_encoder *encoder,
-                            struct intel_crtc_state *pipe_config,
-                            struct drm_connector_state *conn_state)
+                            const struct intel_crtc_state *pipe_config,
+                            const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_dvo *intel_dvo = enc_to_dvo(encoder);
 }
 
 static void intel_dvo_pre_enable(struct intel_encoder *encoder,
-                                struct intel_crtc_state *pipe_config,
-                                struct drm_connector_state *conn_state)
+                                const struct intel_crtc_state *pipe_config,
+                                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(pipe_config->base.crtc);
 
 }
 
 static void intel_enable_hdmi_audio(struct intel_encoder *encoder,
-                                   struct intel_crtc_state *pipe_config,
-                                   struct drm_connector_state *conn_state)
+                                   const struct intel_crtc_state *pipe_config,
+                                   const struct drm_connector_state *conn_state)
 {
        struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc);
 
 }
 
 static void g4x_enable_hdmi(struct intel_encoder *encoder,
-                           struct intel_crtc_state *pipe_config,
-                           struct drm_connector_state *conn_state)
+                           const struct intel_crtc_state *pipe_config,
+                           const struct drm_connector_state *conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void ibx_enable_hdmi(struct intel_encoder *encoder,
-                           struct intel_crtc_state *pipe_config,
-                           struct drm_connector_state *conn_state)
+                           const struct intel_crtc_state *pipe_config,
+                           const struct drm_connector_state *conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void cpt_enable_hdmi(struct intel_encoder *encoder,
-                           struct intel_crtc_state *pipe_config,
-                           struct drm_connector_state *conn_state)
+                           const struct intel_crtc_state *pipe_config,
+                           const struct drm_connector_state *conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void vlv_enable_hdmi(struct intel_encoder *encoder,
-                           struct intel_crtc_state *pipe_config,
-                           struct drm_connector_state *conn_state)
+                           const struct intel_crtc_state *pipe_config,
+                           const struct drm_connector_state *conn_state)
 {
 }
 
 static void intel_disable_hdmi(struct intel_encoder *encoder,
-                              struct intel_crtc_state *old_crtc_state,
-                              struct drm_connector_state *old_conn_state)
+                              const struct intel_crtc_state *old_crtc_state,
+                              const struct drm_connector_state *old_conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void g4x_disable_hdmi(struct intel_encoder *encoder,
-                            struct intel_crtc_state *old_crtc_state,
-                            struct drm_connector_state *old_conn_state)
+                            const struct intel_crtc_state *old_crtc_state,
+                            const struct drm_connector_state *old_conn_state)
 {
        if (old_crtc_state->has_audio)
                intel_audio_codec_disable(encoder);
 }
 
 static void pch_disable_hdmi(struct intel_encoder *encoder,
-                            struct intel_crtc_state *old_crtc_state,
-                            struct drm_connector_state *old_conn_state)
+                            const struct intel_crtc_state *old_crtc_state,
+                            const struct drm_connector_state *old_conn_state)
 {
        if (old_crtc_state->has_audio)
                intel_audio_codec_disable(encoder);
 }
 
 static void pch_post_disable_hdmi(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *old_crtc_state,
-                                 struct drm_connector_state *old_conn_state)
+                                 const struct intel_crtc_state *old_crtc_state,
+                                 const struct drm_connector_state *old_conn_state)
 {
        intel_disable_hdmi(encoder, old_crtc_state, old_conn_state);
 }
        return status;
 }
 
-static bool hdmi_12bpc_possible(struct intel_crtc_state *crtc_state)
+static bool hdmi_12bpc_possible(const struct intel_crtc_state *crtc_state)
 {
        struct drm_i915_private *dev_priv =
                to_i915(crtc_state->base.crtc->dev);
 }
 
 static void intel_hdmi_pre_enable(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *pipe_config,
-                                 struct drm_connector_state *conn_state)
+                                 const struct intel_crtc_state *pipe_config,
+                                 const struct drm_connector_state *conn_state)
 {
        struct intel_digital_port *intel_dig_port =
                enc_to_dig_port(&encoder->base);
 }
 
 static void vlv_hdmi_pre_enable(struct intel_encoder *encoder,
-                               struct intel_crtc_state *pipe_config,
-                               struct drm_connector_state *conn_state)
+                               const struct intel_crtc_state *pipe_config,
+                               const struct drm_connector_state *conn_state)
 {
        struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
        struct drm_device *dev = encoder->base.dev;
 }
 
 static void vlv_hdmi_pre_pll_enable(struct intel_encoder *encoder,
-                                   struct intel_crtc_state *pipe_config,
-                                   struct drm_connector_state *conn_state)
+                                   const struct intel_crtc_state *pipe_config,
+                                   const struct drm_connector_state *conn_state)
 {
        intel_hdmi_prepare(encoder, pipe_config);
 
 }
 
 static void chv_hdmi_pre_pll_enable(struct intel_encoder *encoder,
-                                   struct intel_crtc_state *pipe_config,
-                                   struct drm_connector_state *conn_state)
+                                   const struct intel_crtc_state *pipe_config,
+                                   const struct drm_connector_state *conn_state)
 {
        intel_hdmi_prepare(encoder, pipe_config);
 
 }
 
 static void chv_hdmi_post_pll_disable(struct intel_encoder *encoder,
-                                     struct intel_crtc_state *old_crtc_state,
-                                     struct drm_connector_state *old_conn_state)
+                                     const struct intel_crtc_state *old_crtc_state,
+                                     const struct drm_connector_state *old_conn_state)
 {
        chv_phy_post_pll_disable(encoder);
 }
 
 static void vlv_hdmi_post_disable(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *old_crtc_state,
-                                 struct drm_connector_state *old_conn_state)
+                                 const struct intel_crtc_state *old_crtc_state,
+                                 const struct drm_connector_state *old_conn_state)
 {
        /* Reset lanes to avoid HDMI flicker (VLV w/a) */
        vlv_phy_reset_lanes(encoder);
 }
 
 static void chv_hdmi_post_disable(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *old_crtc_state,
-                                 struct drm_connector_state *old_conn_state)
+                                 const struct intel_crtc_state *old_crtc_state,
+                                 const struct drm_connector_state *old_conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 }
 
 static void chv_hdmi_pre_enable(struct intel_encoder *encoder,
-                               struct intel_crtc_state *pipe_config,
-                               struct drm_connector_state *conn_state)
+                               const struct intel_crtc_state *pipe_config,
+                               const struct drm_connector_state *conn_state)
 {
        struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
        struct drm_device *dev = encoder->base.dev;
 
 }
 
 static void intel_pre_enable_lvds(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *pipe_config,
-                                 struct drm_connector_state *conn_state)
+                                 const struct intel_crtc_state *pipe_config,
+                                 const struct drm_connector_state *conn_state)
 {
        struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base);
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
  * Sets the power state for the panel.
  */
 static void intel_enable_lvds(struct intel_encoder *encoder,
-                             struct intel_crtc_state *pipe_config,
-                             struct drm_connector_state *conn_state)
+                             const struct intel_crtc_state *pipe_config,
+                             const struct drm_connector_state *conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base);
 }
 
 static void intel_disable_lvds(struct intel_encoder *encoder,
-                              struct intel_crtc_state *old_crtc_state,
-                              struct drm_connector_state *old_conn_state)
+                              const struct intel_crtc_state *old_crtc_state,
+                              const struct drm_connector_state *old_conn_state)
 {
        struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base);
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 }
 
 static void gmch_disable_lvds(struct intel_encoder *encoder,
-                             struct intel_crtc_state *old_crtc_state,
-                             struct drm_connector_state *old_conn_state)
+                             const struct intel_crtc_state *old_crtc_state,
+                             const struct drm_connector_state *old_conn_state)
 
 {
        intel_panel_disable_backlight(old_conn_state);
 }
 
 static void pch_disable_lvds(struct intel_encoder *encoder,
-                            struct intel_crtc_state *old_crtc_state,
-                            struct drm_connector_state *old_conn_state)
+                            const struct intel_crtc_state *old_crtc_state,
+                            const struct drm_connector_state *old_conn_state)
 {
        intel_panel_disable_backlight(old_conn_state);
 }
 
 static void pch_post_disable_lvds(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *old_crtc_state,
-                                 struct drm_connector_state *old_conn_state)
+                                 const struct intel_crtc_state *old_crtc_state,
+                                 const struct drm_connector_state *old_conn_state)
 {
        intel_disable_lvds(encoder, old_crtc_state, old_conn_state);
 }
 
        return container_of(connector, struct intel_sdvo_connector, base.base);
 }
 
-static struct intel_sdvo_connector_state *
-to_intel_sdvo_connector_state(struct drm_connector_state *conn_state)
-{
-       return container_of(conn_state, struct intel_sdvo_connector_state, base.base);
-}
+#define to_intel_sdvo_connector_state(conn_state) \
+       container_of((conn_state), struct intel_sdvo_connector_state, base.base)
 
 static bool
 intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, uint16_t flags);
 }
 
 static bool intel_sdvo_set_avi_infoframe(struct intel_sdvo *intel_sdvo,
-                                        struct intel_crtc_state *pipe_config)
+                                        const struct intel_crtc_state *pipe_config)
 {
        uint8_t sdvo_data[HDMI_INFOFRAME_SIZE(AVI)];
        union hdmi_infoframe frame;
 }
 
 static bool intel_sdvo_set_tv_format(struct intel_sdvo *intel_sdvo,
-                                    struct drm_connector_state *conn_state)
+                                    const struct drm_connector_state *conn_state)
 {
        struct intel_sdvo_tv_format format;
        uint32_t format_map;
        } while (0)
 
 static void intel_sdvo_update_props(struct intel_sdvo *intel_sdvo,
-                                   struct intel_sdvo_connector_state *sdvo_state)
+                                   const struct intel_sdvo_connector_state *sdvo_state)
 {
-       struct drm_connector_state *conn_state = &sdvo_state->base.base;
+       const struct drm_connector_state *conn_state = &sdvo_state->base.base;
        struct intel_sdvo_connector *intel_sdvo_conn =
                to_intel_sdvo_connector(conn_state->connector);
        uint16_t val;
 }
 
 static void intel_sdvo_pre_enable(struct intel_encoder *intel_encoder,
-                                 struct intel_crtc_state *crtc_state,
-                                 struct drm_connector_state *conn_state)
+                                 const struct intel_crtc_state *crtc_state,
+                                 const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(intel_encoder->base.dev);
        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_sdvo_connector_state *sdvo_state = to_intel_sdvo_connector_state(conn_state);
-       struct drm_display_mode *mode = &crtc_state->base.mode;
+       const struct intel_sdvo_connector_state *sdvo_state =
+               to_intel_sdvo_connector_state(conn_state);
+       const struct drm_display_mode *mode = &crtc_state->base.mode;
        struct intel_sdvo *intel_sdvo = to_sdvo(intel_encoder);
        u32 sdvox;
        struct intel_sdvo_in_out_map in_out;
 }
 
 static void intel_disable_sdvo(struct intel_encoder *encoder,
-                              struct intel_crtc_state *old_crtc_state,
-                              struct drm_connector_state *conn_state)
+                              const struct intel_crtc_state *old_crtc_state,
+                              const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
 }
 
 static void pch_disable_sdvo(struct intel_encoder *encoder,
-                            struct intel_crtc_state *old_crtc_state,
-                            struct drm_connector_state *old_conn_state)
+                            const struct intel_crtc_state *old_crtc_state,
+                            const struct drm_connector_state *old_conn_state)
 {
 }
 
 static void pch_post_disable_sdvo(struct intel_encoder *encoder,
-                                 struct intel_crtc_state *old_crtc_state,
-                                 struct drm_connector_state *old_conn_state)
+                                 const struct intel_crtc_state *old_crtc_state,
+                                 const struct drm_connector_state *old_conn_state)
 {
        intel_disable_sdvo(encoder, old_crtc_state, old_conn_state);
 }
 
 static void intel_enable_sdvo(struct intel_encoder *encoder,
-                             struct intel_crtc_state *pipe_config,
-                             struct drm_connector_state *conn_state)
+                             const struct intel_crtc_state *pipe_config,
+                             const struct drm_connector_state *conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 
 
 static void
 intel_enable_tv(struct intel_encoder *encoder,
-               struct intel_crtc_state *pipe_config,
-               struct drm_connector_state *conn_state)
+               const struct intel_crtc_state *pipe_config,
+               const struct drm_connector_state *conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
 
 static void
 intel_disable_tv(struct intel_encoder *encoder,
-                struct intel_crtc_state *old_crtc_state,
-                struct drm_connector_state *old_conn_state)
+                const struct intel_crtc_state *old_crtc_state,
+                const struct drm_connector_state *old_conn_state)
 {
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
        I915_WRITE(TV_CTL, I915_READ(TV_CTL) & ~TV_ENC_ENABLE);
 }
 
-static const struct tv_mode *intel_tv_mode_find(struct drm_connector_state *conn_state)
+static const struct tv_mode *intel_tv_mode_find(const struct drm_connector_state *conn_state)
 {
        int format = conn_state->tv.mode;
 
 }
 
 static void intel_tv_pre_enable(struct intel_encoder *encoder,
-                               struct intel_crtc_state *pipe_config,
-                               struct drm_connector_state *conn_state)
+                               const struct intel_crtc_state *pipe_config,
+                               const struct drm_connector_state *conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);