[Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*()

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Wed Dec 18 20:41:16 UTC 2019


Look ok to me.

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

On 4.12.2019 20.05, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Lots of enc_to_foo(&encoder->base) around. Simplify by passing
> in the intel_encoder instead.
> 
> @find@
> identifier F =~ "^enc_to_.*";
> identifier E;
> @@
> F(struct drm_encoder *E)
> {
> ...
> }
> 
> @@
> identifier find.F;
> identifier find.E;
> @@
> F(
> - struct drm_encoder *E
> + struct intel_encoder *encoder
>    )
> {
> <...
> - E
> + &encoder->base
> ...>
> }
> 
> @@
> identifier find.F;
> expression E;
> @@
> - F(E)
> + F(to_intel_encoder(E))
> 
> @@
> expression E;
> @@
> - to_intel_encoder(&E->base)
> + E
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>   drivers/gpu/drm/i915/display/icl_dsi.c        | 58 ++++++++---------
>   drivers/gpu/drm/i915/display/intel_ddi.c      | 63 ++++++++++---------
>   drivers/gpu/drm/i915/display/intel_display.c  |  4 +-
>   .../drm/i915/display/intel_display_power.c    |  6 +-
>   .../drm/i915/display/intel_display_types.h    | 19 +++---
>   drivers/gpu/drm/i915/display/intel_dp.c       | 54 ++++++++--------
>   .../drm/i915/display/intel_dp_aux_backlight.c | 15 ++---
>   drivers/gpu/drm/i915/display/intel_dp_mst.c   | 24 +++----
>   drivers/gpu/drm/i915/display/intel_dpio_phy.c | 18 +++---
>   drivers/gpu/drm/i915/display/intel_dpll_mgr.c |  4 +-
>   drivers/gpu/drm/i915/display/intel_dsi.h      |  6 +-
>   .../i915/display/intel_dsi_dcs_backlight.c    |  8 +--
>   drivers/gpu/drm/i915/display/intel_hdmi.c     | 49 ++++++++-------
>   drivers/gpu/drm/i915/display/intel_hdmi.h     |  2 +-
>   drivers/gpu/drm/i915/display/intel_hotplug.c  |  4 +-
>   drivers/gpu/drm/i915/display/intel_lspcon.c   |  8 +--
>   drivers/gpu/drm/i915/display/intel_pipe_crc.c |  2 +-
>   drivers/gpu/drm/i915/display/intel_vdsc.c     |  4 +-
>   drivers/gpu/drm/i915/display/vlv_dsi.c        | 36 +++++------
>   drivers/gpu/drm/i915/display/vlv_dsi_pll.c    | 12 ++--
>   drivers/gpu/drm/i915/i915_debugfs.c           | 28 ++++-----
>   21 files changed, 214 insertions(+), 210 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> index f688207932e0..7e774cd4a56c 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -76,7 +76,7 @@ static enum transcoder dsi_port_to_transcoder(enum port port)
>   static void wait_for_cmds_dispatched_to_panel(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct mipi_dsi_device *dsi;
>   	enum port port;
>   	enum transcoder dsi_trans;
> @@ -201,7 +201,7 @@ static int dsi_send_pkt_payld(struct intel_dsi_host *host,
>   static void dsi_program_swing_and_deemphasis(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum phy phy;
>   	u32 tmp;
>   	int lane;
> @@ -266,7 +266,7 @@ static void configure_dual_link_mode(struct intel_encoder *encoder,
>   				     const struct intel_crtc_state *pipe_config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 dss_ctl1;
>   
>   	dss_ctl1 = I915_READ(DSS_CTL1);
> @@ -304,7 +304,7 @@ static void configure_dual_link_mode(struct intel_encoder *encoder,
>   static void gen11_dsi_program_esc_clk_div(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
>   	u32 afe_clk_khz; /* 8X Clock */
> @@ -346,7 +346,7 @@ static void get_dsi_io_power_domains(struct drm_i915_private *dev_priv,
>   static void gen11_dsi_enable_io_power(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 tmp;
>   
> @@ -362,7 +362,7 @@ static void gen11_dsi_enable_io_power(struct intel_encoder *encoder)
>   static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum phy phy;
>   
>   	for_each_dsi_phy(phy, intel_dsi->phys)
> @@ -373,7 +373,7 @@ static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder)
>   static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum phy phy;
>   	u32 tmp;
>   	int lane;
> @@ -422,7 +422,7 @@ static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder)
>   static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 tmp;
>   	enum phy phy;
>   
> @@ -474,7 +474,7 @@ static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder)
>   static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 tmp;
>   	enum port port;
>   
> @@ -493,7 +493,7 @@ static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder)
>   static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 tmp;
>   	enum port port;
>   	enum phy phy;
> @@ -559,7 +559,7 @@ static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
>   static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 tmp;
>   	enum phy phy;
>   
> @@ -575,7 +575,7 @@ static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
>   static void gen11_dsi_ungate_clocks(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 tmp;
>   	enum phy phy;
>   
> @@ -592,7 +592,7 @@ static void gen11_dsi_map_pll(struct intel_encoder *encoder,
>   			      const struct intel_crtc_state *crtc_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct intel_shared_dpll *pll = crtc_state->shared_dpll;
>   	enum phy phy;
>   	u32 val;
> @@ -624,7 +624,7 @@ gen11_dsi_configure_transcoder(struct intel_encoder *encoder,
>   			       const struct intel_crtc_state *pipe_config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
>   	enum pipe pipe = intel_crtc->pipe;
>   	u32 tmp;
> @@ -769,7 +769,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,
>   				 const struct intel_crtc_state *pipe_config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	const struct drm_display_mode *adjusted_mode =
>   					&pipe_config->hw.adjusted_mode;
>   	enum port port;
> @@ -889,7 +889,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,
>   static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	enum transcoder dsi_trans;
>   	u32 tmp;
> @@ -910,7 +910,7 @@ static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder)
>   static void gen11_dsi_setup_timeouts(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	enum transcoder dsi_trans;
>   	u32 tmp, hs_tx_timeout, lp_rx_timeout, ta_timeout, divisor, mul;
> @@ -991,7 +991,7 @@ gen11_dsi_enable_port_and_phy(struct intel_encoder *encoder,
>   static void gen11_dsi_powerup_panel(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct mipi_dsi_device *dsi;
>   	enum port port;
>   	enum transcoder dsi_trans;
> @@ -1042,7 +1042,7 @@ static void gen11_dsi_pre_enable(struct intel_encoder *encoder,
>   				 const struct intel_crtc_state *pipe_config,
>   				 const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   
>   	/* step3b */
>   	gen11_dsi_map_pll(encoder, pipe_config);
> @@ -1067,7 +1067,7 @@ static void gen11_dsi_pre_enable(struct intel_encoder *encoder,
>   static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	enum transcoder dsi_trans;
>   	u32 tmp;
> @@ -1089,7 +1089,7 @@ static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder)
>   
>   static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   
>   	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF);
>   	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_ASSERT_RESET);
> @@ -1102,7 +1102,7 @@ static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder)
>   static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	enum transcoder dsi_trans;
>   	u32 tmp;
> @@ -1143,7 +1143,7 @@ static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder)
>   static void gen11_dsi_disable_port(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u32 tmp;
>   	enum port port;
>   
> @@ -1165,7 +1165,7 @@ static void gen11_dsi_disable_port(struct intel_encoder *encoder)
>   static void gen11_dsi_disable_io_power(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 tmp;
>   
> @@ -1192,7 +1192,7 @@ static void gen11_dsi_disable(struct intel_encoder *encoder,
>   			      const struct intel_crtc_state *old_crtc_state,
>   			      const struct drm_connector_state *old_conn_state)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   
>   	/* step1: turn off backlight */
>   	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_OFF);
> @@ -1217,7 +1217,7 @@ static void gen11_dsi_disable(struct intel_encoder *encoder,
>   static void gen11_dsi_get_timings(struct intel_encoder *encoder,
>   				  struct intel_crtc_state *pipe_config)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct drm_display_mode *adjusted_mode =
>   					&pipe_config->hw.adjusted_mode;
>   
> @@ -1246,7 +1246,7 @@ static void gen11_dsi_get_config(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   
>   	/* FIXME: adapt icl_ddi_clock_get() for DSI and use that? */
>   	pipe_config->port_clock =
> @@ -1296,14 +1296,14 @@ static void gen11_dsi_get_power_domains(struct intel_encoder *encoder,
>   					struct intel_crtc_state *crtc_state)
>   {
>   	get_dsi_io_power_domains(to_i915(encoder->base.dev),
> -				 enc_to_intel_dsi(&encoder->base));
> +				 enc_to_intel_dsi(encoder));
>   }
>   
>   static bool gen11_dsi_get_hw_state(struct intel_encoder *encoder,
>   				   enum pipe *pipe)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum transcoder dsi_trans;
>   	intel_wakeref_t wakeref;
>   	enum port port;
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index e692c0b28559..52d187db320f 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -1241,9 +1241,9 @@ void hsw_fdi_link_train(struct intel_crtc *crtc,
>   
>   static void intel_ddi_init_dp_buf_reg(struct intel_encoder *encoder)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_digital_port *intel_dig_port =
> -		enc_to_dig_port(&encoder->base);
> +		enc_to_dig_port(encoder);
>   
>   	intel_dp->DP = intel_dig_port->saved_port_bits |
>   		DDI_BUF_CTL_ENABLE | DDI_BUF_TRANS_SELECT(0);
> @@ -2221,7 +2221,7 @@ static void intel_ddi_get_power_domains(struct intel_encoder *encoder,
>   	if (WARN_ON(intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST)))
>   		return;
>   
> -	dig_port = enc_to_dig_port(&encoder->base);
> +	dig_port = enc_to_dig_port(encoder);
>   	intel_display_power_get(dev_priv, dig_port->ddi_io_power_domain);
>   
>   	/*
> @@ -2291,7 +2291,7 @@ static void _skl_ddi_set_iboost(struct drm_i915_private *dev_priv,
>   static void skl_ddi_set_iboost(struct intel_encoder *encoder,
>   			       int level, enum intel_output_type type)
>   {
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	enum port port = encoder->port;
>   	u8 iboost;
> @@ -2362,7 +2362,7 @@ static void bxt_ddi_vswing_sequence(struct intel_encoder *encoder,
>   u8 intel_ddi_dp_voltage_max(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	enum port port = encoder->port;
>   	enum phy phy = intel_port_to_phy(dev_priv, port);
>   	int n_entries;
> @@ -2501,7 +2501,7 @@ static void cnl_ddi_vswing_sequence(struct intel_encoder *encoder,
>   		width = 4;
>   		rate = 0; /* Rate is always < than 6GHz for HDMI */
>   	} else {
> -		struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   		width = intel_dp->lane_count;
>   		rate = intel_dp->link_rate;
> @@ -2627,7 +2627,7 @@ static void icl_combo_phy_ddi_vswing_sequence(struct intel_encoder *encoder,
>   		width = 4;
>   		/* Rate is always < than 6GHz for HDMI */
>   	} else {
> -		struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   		width = intel_dp->lane_count;
>   		rate = intel_dp->link_rate;
> @@ -3316,7 +3316,7 @@ static void intel_ddi_enable_fec(struct intel_encoder *encoder,
>   	if (!crtc_state->fec_enable)
>   		return;
>   
> -	intel_dp = enc_to_intel_dp(&encoder->base);
> +	intel_dp = enc_to_intel_dp(encoder);
>   	val = I915_READ(intel_dp->regs.dp_tp_ctl);
>   	val |= DP_TP_CTL_FEC_ENABLE;
>   	I915_WRITE(intel_dp->regs.dp_tp_ctl, val);
> @@ -3336,7 +3336,7 @@ static void intel_ddi_disable_fec_state(struct intel_encoder *encoder,
>   	if (!crtc_state->fec_enable)
>   		return;
>   
> -	intel_dp = enc_to_intel_dp(&encoder->base);
> +	intel_dp = enc_to_intel_dp(encoder);
>   	val = I915_READ(intel_dp->regs.dp_tp_ctl);
>   	val &= ~DP_TP_CTL_FEC_ENABLE;
>   	I915_WRITE(intel_dp->regs.dp_tp_ctl, val);
> @@ -3427,10 +3427,10 @@ static void tgl_ddi_pre_enable_dp(struct intel_encoder *encoder,
>   				  const struct intel_crtc_state *crtc_state,
>   				  const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
>   	int level = intel_ddi_dp_level(intel_dp);
>   	enum transcoder transcoder = crtc_state->cpu_transcoder;
> @@ -3583,11 +3583,11 @@ static void hsw_ddi_pre_enable_dp(struct intel_encoder *encoder,
>   				  const struct intel_crtc_state *crtc_state,
>   				  const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	enum port port = encoder->port;
>   	enum phy phy = intel_port_to_phy(dev_priv, port);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
>   	int level = intel_ddi_dp_level(intel_dp);
>   
> @@ -3673,12 +3673,12 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
>   				      const struct intel_crtc_state *crtc_state,
>   				      const struct drm_connector_state *conn_state)
>   {
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
>   	struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	enum port port = encoder->port;
>   	int level = intel_ddi_hdmi_level(dev_priv, port);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   
>   	intel_dp_dual_mode_set_tmds_output(intel_hdmi, true);
>   	intel_ddi_clk_select(encoder, crtc_state);
> @@ -3745,12 +3745,12 @@ static void intel_ddi_pre_enable(struct intel_encoder *encoder,
>   		intel_ddi_pre_enable_hdmi(encoder, crtc_state, conn_state);
>   	} else {
>   		struct intel_lspcon *lspcon =
> -				enc_to_intel_lspcon(&encoder->base);
> +				enc_to_intel_lspcon(encoder);
>   
>   		intel_ddi_pre_enable_dp(encoder, crtc_state, conn_state);
>   		if (lspcon->active) {
>   			struct intel_digital_port *dig_port =
> -					enc_to_dig_port(&encoder->base);
> +					enc_to_dig_port(encoder);
>   
>   			dig_port->set_infoframes(encoder,
>   						 crtc_state->has_infoframe,
> @@ -3775,7 +3775,7 @@ static void intel_disable_ddi_buf(struct intel_encoder *encoder,
>   	}
>   
>   	if (intel_crtc_has_dp_encoder(crtc_state)) {
> -		struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   		val = I915_READ(intel_dp->regs.dp_tp_ctl);
>   		val &= ~(DP_TP_CTL_ENABLE | DP_TP_CTL_LINK_TRAIN_MASK);
> @@ -3795,7 +3795,7 @@ static void intel_ddi_post_disable_dp(struct intel_encoder *encoder,
>   				      const struct drm_connector_state *old_conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	struct intel_dp *intel_dp = &dig_port->dp;
>   	bool is_mst = intel_crtc_has_type(old_crtc_state,
>   					  INTEL_OUTPUT_DP_MST);
> @@ -3829,7 +3829,7 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
>   					const struct drm_connector_state *old_conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
>   
>   	dig_port->set_infoframes(encoder, false,
> @@ -3916,7 +3916,7 @@ static void intel_enable_ddi_dp(struct intel_encoder *encoder,
>   				const struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	enum port port = encoder->port;
>   
>   	if (port == PORT_A && INTEL_GEN(dev_priv) < 9)
> @@ -3957,7 +3957,7 @@ static void intel_enable_ddi_hdmi(struct intel_encoder *encoder,
>   				  const struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	struct drm_connector *connector = conn_state->connector;
>   	enum port port = encoder->port;
>   
> @@ -4034,7 +4034,7 @@ static void intel_disable_ddi_dp(struct intel_encoder *encoder,
>   				 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 intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   	intel_dp->link_trained = false;
>   
> @@ -4082,7 +4082,7 @@ static void intel_ddi_update_pipe_dp(struct intel_encoder *encoder,
>   				     const struct intel_crtc_state *crtc_state,
>   				     const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   	intel_ddi_set_dp_msa(crtc_state, conn_state);
>   
> @@ -4146,7 +4146,8 @@ intel_ddi_update_prepare(struct intel_atomic_state *state,
>   
>   	WARN_ON(crtc && crtc->active);
>   
> -	intel_tc_port_get_link(enc_to_dig_port(&encoder->base), required_lanes);
> +	intel_tc_port_get_link(enc_to_dig_port(encoder),
> +		               required_lanes);
>   	if (crtc_state && crtc_state->hw.active)
>   		intel_update_active_dpll(state, crtc, encoder);
>   }
> @@ -4156,7 +4157,7 @@ intel_ddi_update_complete(struct intel_atomic_state *state,
>   			  struct intel_encoder *encoder,
>   			  struct intel_crtc *crtc)
>   {
> -	intel_tc_port_put_link(enc_to_dig_port(&encoder->base));
> +	intel_tc_port_put_link(enc_to_dig_port(encoder));
>   }
>   
>   static void
> @@ -4165,7 +4166,7 @@ intel_ddi_pre_pll_enable(struct intel_encoder *encoder,
>   			 const struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
>   	bool is_tc_port = intel_phy_is_tc(dev_priv, phy);
>   
> @@ -4193,7 +4194,7 @@ intel_ddi_post_pll_disable(struct intel_encoder *encoder,
>   			   const struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
>   	bool is_tc_port = intel_phy_is_tc(dev_priv, phy);
>   
> @@ -4480,7 +4481,7 @@ static int intel_ddi_compute_config(struct intel_encoder *encoder,
>   
>   static void intel_ddi_encoder_destroy(struct drm_encoder *encoder)
>   {
> -	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(to_intel_encoder(encoder));
>   
>   	intel_dp_encoder_flush_work(encoder);
>   
> @@ -4547,7 +4548,7 @@ static int intel_hdmi_reset_link(struct intel_encoder *encoder,
>   				 struct drm_modeset_acquire_ctx *ctx)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_hdmi *hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *hdmi = enc_to_intel_hdmi(encoder);
>   	struct intel_connector *connector = hdmi->attached_connector;
>   	struct i2c_adapter *adapter =
>   		intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> @@ -4619,7 +4620,7 @@ intel_ddi_hotplug(struct intel_encoder *encoder,
>   		  struct intel_connector *connector,
>   		  bool irq_received)
>   {
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	struct drm_modeset_acquire_ctx ctx;
>   	enum intel_hotplug_state state;
>   	int ret;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 99abc553a8ab..45568a7c6579 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct intel_crtc *crtc,
>   		if (conn_state->crtc == &crtc->base)
>   			break;
>   	}
> -	intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(conn))->base);
> +	intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(conn)));
>   	intel_dp_stop_link_train(intel_dp);
>   }
>   
> @@ -17763,7 +17763,7 @@ intel_modeset_setup_hw_state(struct drm_device *dev,
>   		/* We need to sanitize only the MST primary port. */
>   		if (encoder->type != INTEL_OUTPUT_DP_MST &&
>   		    intel_phy_is_tc(dev_priv, phy))
> -			intel_tc_port_sanitize(enc_to_dig_port(&encoder->base));
> +			intel_tc_port_sanitize(enc_to_dig_port(encoder));
>   	}
>   
>   	get_encoder_power_domains(dev_priv);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index ce1b64f4dd44..7395cb0111a3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -519,7 +519,7 @@ static void icl_tc_port_assert_ref_held(struct drm_i915_private *dev_priv,
>   		if (encoder->type == INTEL_OUTPUT_DP_MST)
>   			continue;
>   
> -		dig_port = enc_to_dig_port(&encoder->base);
> +		dig_port = enc_to_dig_port(encoder);
>   		if (WARN_ON(!dig_port))
>   			continue;
>   
> @@ -1669,8 +1669,8 @@ void chv_phy_powergate_lanes(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct i915_power_domains *power_domains = &dev_priv->power_domains;
> -	enum dpio_phy phy = vlv_dport_to_phy(enc_to_dig_port(&encoder->base));
> -	enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base));
> +	enum dpio_phy phy = vlv_dport_to_phy(enc_to_dig_port(encoder));
> +	enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(encoder));
>   
>   	mutex_lock(&power_domains->lock);
>   
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 4d89de5a4964..79c7454ff510 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1454,12 +1454,12 @@ static inline bool intel_encoder_is_dig_port(struct intel_encoder *encoder)
>   }
>   
>   static inline struct intel_digital_port *
> -enc_to_dig_port(struct drm_encoder *encoder)
> +enc_to_dig_port(struct intel_encoder *encoder)
>   {
> -	struct intel_encoder *intel_encoder = to_intel_encoder(encoder);
> +	struct intel_encoder *intel_encoder = encoder;
>   
>   	if (intel_encoder_is_dig_port(intel_encoder))
> -		return container_of(encoder, struct intel_digital_port,
> +		return container_of(&encoder->base, struct intel_digital_port,
>   				    base.base);
>   	else
>   		return NULL;
> @@ -1468,16 +1468,17 @@ enc_to_dig_port(struct drm_encoder *encoder)
>   static inline struct intel_digital_port *
>   conn_to_dig_port(struct intel_connector *connector)
>   {
> -	return enc_to_dig_port(&intel_attached_encoder(connector)->base);
> +	return enc_to_dig_port(intel_attached_encoder(connector));
>   }
>   
>   static inline struct intel_dp_mst_encoder *
> -enc_to_mst(struct drm_encoder *encoder)
> +enc_to_mst(struct intel_encoder *encoder)
>   {
> -	return container_of(encoder, struct intel_dp_mst_encoder, base.base);
> +	return container_of(&encoder->base, struct intel_dp_mst_encoder,
> +			    base.base);
>   }
>   
> -static inline struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder)
> +static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder)
>   {
>   	return &enc_to_dig_port(encoder)->dp;
>   }
> @@ -1490,14 +1491,14 @@ static inline bool intel_encoder_is_dp(struct intel_encoder *encoder)
>   		return true;
>   	case INTEL_OUTPUT_DDI:
>   		/* Skip pure HDMI/DVI DDI encoders */
> -		return i915_mmio_reg_valid(enc_to_intel_dp(&encoder->base)->output_reg);
> +		return i915_mmio_reg_valid(enc_to_intel_dp(encoder)->output_reg);
>   	default:
>   		return false;
>   	}
>   }
>   
>   static inline struct intel_lspcon *
> -enc_to_intel_lspcon(struct drm_encoder *encoder)
> +enc_to_intel_lspcon(struct intel_encoder *encoder)
>   {
>   	return &enc_to_dig_port(encoder)->lspcon;
>   }
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 668b636fcfaa..93f3d232fcb5 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -148,7 +148,7 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
>   
>   static struct intel_dp *intel_attached_dp(struct intel_connector *connector)
>   {
> -	return enc_to_intel_dp(&intel_attached_encoder(connector)->base);
> +	return enc_to_intel_dp(intel_attached_encoder(connector));
>   }
>   
>   static void intel_dp_link_down(struct intel_encoder *encoder,
> @@ -834,7 +834,7 @@ static enum pipe vlv_find_free_pps(struct drm_i915_private *dev_priv)
>   	 * Pick one that's not used by other ports.
>   	 */
>   	for_each_intel_dp(&dev_priv->drm, encoder) {
> -		struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   		if (encoder->type == INTEL_OUTPUT_EDP) {
>   			WARN_ON(intel_dp->active_pipe != INVALID_PIPE &&
> @@ -1031,7 +1031,7 @@ void intel_power_sequencer_reset(struct drm_i915_private *dev_priv)
>   	 */
>   
>   	for_each_intel_dp(&dev_priv->drm, encoder) {
> -		struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   		WARN_ON(intel_dp->active_pipe != INVALID_PIPE);
>   
> @@ -2165,7 +2165,7 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
>   			     struct drm_connector_state *conn_state)
>   {
>   	struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct link_config_limits limits;
>   	int common_len;
>   	int ret;
> @@ -2326,8 +2326,8 @@ intel_dp_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->hw.adjusted_mode;
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> -	struct intel_lspcon *lspcon = enc_to_intel_lspcon(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +	struct intel_lspcon *lspcon = enc_to_intel_lspcon(encoder);
>   	enum port port = encoder->port;
>   	struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
>   	struct intel_connector *intel_connector = intel_dp->attached_connector;
> @@ -2442,7 +2442,7 @@ static void intel_dp_prepare(struct intel_encoder *encoder,
>   			     const struct intel_crtc_state *pipe_config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	enum port port = encoder->port;
>   	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
>   	const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> @@ -2940,7 +2940,7 @@ static void _intel_edp_backlight_on(struct intel_dp *intel_dp)
>   void intel_edp_backlight_on(const struct intel_crtc_state *crtc_state,
>   			    const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(conn_state->best_encoder);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(conn_state->best_encoder));
>   
>   	if (!intel_dp_is_edp(intel_dp))
>   		return;
> @@ -2978,7 +2978,7 @@ static void _intel_edp_backlight_off(struct intel_dp *intel_dp)
>   /* Disable backlight PP control and backlight PWM. */
>   void intel_edp_backlight_off(const struct drm_connector_state *old_conn_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(old_conn_state->best_encoder);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder));
>   
>   	if (!intel_dp_is_edp(intel_dp))
>   		return;
> @@ -3218,7 +3218,7 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder,
>   				  enum pipe *pipe)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	intel_wakeref_t wakeref;
>   	bool ret;
>   
> @@ -3239,7 +3239,7 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
>   				struct intel_crtc_state *pipe_config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	u32 tmp, flags = 0;
>   	enum port port = encoder->port;
>   	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> @@ -3323,7 +3323,7 @@ static void intel_disable_dp(struct intel_encoder *encoder,
>   			     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 intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   	intel_dp->link_trained = false;
>   
> @@ -3357,7 +3357,7 @@ static void g4x_post_disable_dp(struct intel_encoder *encoder,
>   				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 intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	enum port port = encoder->port;
>   
>   	/*
> @@ -3508,7 +3508,7 @@ static void intel_enable_dp(struct intel_encoder *encoder,
>   			    const struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
>   	u32 dp_reg = I915_READ(intel_dp->output_reg);
>   	enum pipe pipe = crtc->pipe;
> @@ -3568,7 +3568,7 @@ static void g4x_pre_enable_dp(struct intel_encoder *encoder,
>   			      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 intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	enum port port = encoder->port;
>   
>   	intel_dp_prepare(encoder, pipe_config);
> @@ -3618,7 +3618,7 @@ static void vlv_steal_power_sequencer(struct drm_i915_private *dev_priv,
>   	lockdep_assert_held(&dev_priv->pps_mutex);
>   
>   	for_each_intel_dp(&dev_priv->drm, encoder) {
> -		struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   		WARN(intel_dp->active_pipe == pipe,
>   		     "stealing pipe %c power sequencer from active [ENCODER:%d:%s]\n",
> @@ -3641,7 +3641,7 @@ static void vlv_init_panel_power_sequencer(struct intel_encoder *encoder,
>   					   const struct intel_crtc_state *crtc_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>   
>   	lockdep_assert_held(&dev_priv->pps_mutex);
> @@ -4163,7 +4163,7 @@ intel_dp_link_down(struct intel_encoder *encoder,
>   		   const struct intel_crtc_state *old_crtc_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
>   	enum port port = encoder->port;
>   	u32 DP = intel_dp->DP;
> @@ -5056,7 +5056,7 @@ int intel_dp_retrain_link(struct intel_encoder *encoder,
>   			  struct drm_modeset_acquire_ctx *ctx)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_connector *connector = intel_dp->attached_connector;
>   	struct drm_connector_state *conn_state;
>   	struct intel_crtc_state *crtc_state;
> @@ -5496,7 +5496,7 @@ static bool intel_combo_phy_connected(struct drm_i915_private *dev_priv,
>   static bool icp_digital_port_connected(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
>   
>   	if (intel_phy_is_combo(dev_priv, phy))
> @@ -5799,7 +5799,7 @@ intel_dp_connector_unregister(struct drm_connector *connector)
>   
>   void intel_dp_encoder_flush_work(struct drm_encoder *encoder)
>   {
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(to_intel_encoder(encoder));
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   
>   	intel_dp_mst_encoder_cleanup(intel_dig_port);
> @@ -5828,12 +5828,12 @@ static void intel_dp_encoder_destroy(struct drm_encoder *encoder)
>   	intel_dp_encoder_flush_work(encoder);
>   
>   	drm_encoder_cleanup(encoder);
> -	kfree(enc_to_dig_port(encoder));
> +	kfree(enc_to_dig_port(to_intel_encoder(encoder)));
>   }
>   
>   void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
>   	intel_wakeref_t wakeref;
>   
>   	if (!intel_dp_is_edp(intel_dp))
> @@ -5864,7 +5864,7 @@ static
>   int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
>   				u8 *an)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&intel_dig_port->base.base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(&intel_dig_port->base.base));
>   	static const struct drm_dp_aux_msg msg = {
>   		.request = DP_AUX_NATIVE_WRITE,
>   		.address = DP_AUX_HDCP_AKSV,
> @@ -6474,7 +6474,7 @@ static enum pipe vlv_active_pipe(struct intel_dp *intel_dp)
>   void intel_dp_encoder_reset(struct drm_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(encoder));
>   	struct intel_lspcon *lspcon = dp_to_lspcon(intel_dp);
>   	intel_wakeref_t wakeref;
>   
> @@ -7620,7 +7620,7 @@ void intel_dp_mst_suspend(struct drm_i915_private *dev_priv)
>   		if (encoder->type != INTEL_OUTPUT_DDI)
>   			continue;
>   
> -		intel_dp = enc_to_intel_dp(&encoder->base);
> +		intel_dp = enc_to_intel_dp(encoder);
>   
>   		if (!intel_dp->can_mst)
>   			continue;
> @@ -7641,7 +7641,7 @@ void intel_dp_mst_resume(struct drm_i915_private *dev_priv)
>   		if (encoder->type != INTEL_OUTPUT_DDI)
>   			continue;
>   
> -		intel_dp = enc_to_intel_dp(&encoder->base);
> +		intel_dp = enc_to_intel_dp(encoder);
>   
>   		if (!intel_dp->can_mst)
>   			continue;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index 020422da2ae2..7c653f8c307f 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
>    */
>   static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>   	u8 read_val[2] = { 0x0 };
>   	u16 level = 0;
>   
> @@ -82,7 +82,7 @@ static void
>   intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
>   {
>   	struct intel_connector *connector = to_intel_connector(conn_state->connector);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>   	u8 vals[2] = { 0x0 };
>   
>   	vals[0] = level;
> @@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
>   static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>   	int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
>   	u8 pn, pn_min, pn_max;
>   
> @@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
>   					  const struct drm_connector_state *conn_state)
>   {
>   	struct intel_connector *connector = to_intel_connector(conn_state->connector);
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>   	u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
>   
>   	if (drm_dp_dpcd_readb(&intel_dp->aux,
> @@ -222,13 +222,14 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
>   
>   static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old_conn_state)
>   {
> -	set_aux_backlight_enable(enc_to_intel_dp(old_conn_state->best_encoder), false);
> +	set_aux_backlight_enable(enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder)),
> +				 false);
>   }
>   
>   static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
>   					enum pipe pipe)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>   	struct intel_panel *panel = &connector->panel;
>   
>   	if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> @@ -247,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
>   static bool
>   intel_dp_aux_display_control_capable(struct intel_connector *connector)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>   
>   	/* Check the eDP Display control capabilities registers to determine if
>   	 * the panel can support backlight control over the aux channel
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index a1e4f4197a67..af7f6d670e07 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -43,7 +43,7 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder,
>   					    struct link_config_limits *limits)
>   {
>   	struct drm_atomic_state *state = crtc_state->uapi.state;
> -	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> +	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_dp *intel_dp = &intel_mst->primary->dp;
>   	struct intel_connector *connector =
>   		to_intel_connector(conn_state->connector);
> @@ -92,7 +92,7 @@ static int intel_dp_mst_compute_config(struct intel_encoder *encoder,
>   				       struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> +	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_dp *intel_dp = &intel_mst->primary->dp;
>   	struct intel_connector *connector =
>   		to_intel_connector(conn_state->connector);
> @@ -195,7 +195,7 @@ intel_dp_mst_atomic_check(struct drm_connector *connector,
>   			return 0;
>   	}
>   
> -	mgr = &enc_to_mst(old_conn_state->best_encoder)->primary->dp.mst_mgr;
> +	mgr = &enc_to_mst(to_intel_encoder(old_conn_state->best_encoder))->primary->dp.mst_mgr;
>   	ret = drm_dp_atomic_release_vcpi_slots(state, mgr,
>   					       intel_connector->port);
>   
> @@ -206,7 +206,7 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
>   				 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_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   	struct intel_connector *connector =
> @@ -230,7 +230,7 @@ static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
>   				      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_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   	struct intel_connector *connector =
> @@ -267,7 +267,7 @@ static void intel_mst_pre_pll_enable_dp(struct intel_encoder *encoder,
>   					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_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   
> @@ -280,7 +280,7 @@ static void intel_mst_post_pll_disable_dp(struct intel_encoder *encoder,
>   					  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_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   
> @@ -294,7 +294,7 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
>   				    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_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> @@ -352,7 +352,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
>   				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_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> @@ -373,7 +373,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
>   static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
>   				      enum pipe *pipe)
>   {
> -	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> +	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	*pipe = intel_mst->pipe;
>   	if (intel_mst->connector)
>   		return true;
> @@ -383,7 +383,7 @@ static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
>   static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
>   					struct intel_crtc_state *pipe_config)
>   {
> -	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> +	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   
>   	intel_ddi_get_config(&intel_dig_port->base, pipe_config);
> @@ -491,7 +491,7 @@ static const struct drm_connector_helper_funcs intel_dp_mst_connector_helper_fun
>   
>   static void intel_dp_mst_encoder_destroy(struct drm_encoder *encoder)
>   {
> -	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> +	struct intel_dp_mst_encoder *intel_mst = enc_to_mst(to_intel_encoder(encoder));
>   
>   	drm_encoder_cleanup(encoder);
>   	kfree(intel_mst);
> diff --git a/drivers/gpu/drm/i915/display/intel_dpio_phy.c b/drivers/gpu/drm/i915/display/intel_dpio_phy.c
> index 704f38681c4b..6fb1f7a7364e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpio_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpio_phy.c
> @@ -642,7 +642,7 @@ void chv_set_phy_signal_level(struct intel_encoder *encoder,
>   			      bool uniq_trans_scale)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
>   	enum dpio_channel ch = vlv_dport_to_channel(dport);
>   	enum pipe pipe = intel_crtc->pipe;
> @@ -738,7 +738,7 @@ void chv_data_lane_soft_reset(struct intel_encoder *encoder,
>   			      bool reset)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base));
> +	enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(encoder));
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>   	enum pipe pipe = crtc->pipe;
>   	u32 val;
> @@ -781,7 +781,7 @@ void chv_data_lane_soft_reset(struct intel_encoder *encoder,
>   void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
>   			    const struct intel_crtc_state *crtc_state)
>   {
> -	struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>   	enum dpio_channel ch = vlv_dport_to_channel(dport);
> @@ -861,7 +861,7 @@ void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
>   void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
>   				const struct intel_crtc_state *crtc_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> @@ -940,7 +940,7 @@ void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
>   
>   void chv_phy_release_cl2_override(struct intel_encoder *encoder)
>   {
> -	struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   
>   	if (dport->release_cl2_override) {
> @@ -989,7 +989,7 @@ void vlv_set_phy_signal_level(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
> -	struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dport = enc_to_dig_port(encoder);
>   	enum dpio_channel port = vlv_dport_to_channel(dport);
>   	enum pipe pipe = intel_crtc->pipe;
>   
> @@ -1014,7 +1014,7 @@ void vlv_set_phy_signal_level(struct intel_encoder *encoder,
>   void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
>   			    const struct intel_crtc_state *crtc_state)
>   {
> -	struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>   	enum dpio_channel port = vlv_dport_to_channel(dport);
> @@ -1043,7 +1043,7 @@ void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
>   void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
>   				const struct intel_crtc_state *crtc_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> @@ -1073,7 +1073,7 @@ void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
>   void vlv_phy_reset_lanes(struct intel_encoder *encoder,
>   			 const struct intel_crtc_state *old_crtc_state)
>   {
> -	struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
>   	enum dpio_channel port = vlv_dport_to_channel(dport);
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index 728a4b045de7..c75e34d87111 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -2972,8 +2972,8 @@ static void icl_update_active_dpll(struct intel_atomic_state *state,
>   	enum icl_port_dpll_id port_dpll_id = ICL_PORT_DPLL_DEFAULT;
>   
>   	primary_port = encoder->type == INTEL_OUTPUT_DP_MST ?
> -		enc_to_mst(&encoder->base)->primary :
> -		enc_to_dig_port(&encoder->base);
> +		enc_to_mst(encoder)->primary :
> +		enc_to_dig_port(encoder);
>   
>   	if (primary_port &&
>   	    (primary_port->tc_mode == TC_PORT_DP_ALT ||
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h
> index b15be5814599..97b18ab69370 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi.h
> +++ b/drivers/gpu/drm/i915/display/intel_dsi.h
> @@ -141,9 +141,9 @@ static inline struct intel_dsi_host *to_intel_dsi_host(struct mipi_dsi_host *h)
>   #define for_each_dsi_phy(__phy, __phys_mask) \
>   	for_each_phy_masked(__phy, __phys_mask)
>   
> -static inline struct intel_dsi *enc_to_intel_dsi(struct drm_encoder *encoder)
> +static inline struct intel_dsi *enc_to_intel_dsi(struct intel_encoder *encoder)
>   {
> -	return container_of(encoder, struct intel_dsi, base.base);
> +	return container_of(&encoder->base, struct intel_dsi, base.base);
>   }
>   
>   static inline bool is_vid_mode(struct intel_dsi *intel_dsi)
> @@ -158,7 +158,7 @@ static inline bool is_cmd_mode(struct intel_dsi *intel_dsi)
>   
>   static inline u16 intel_dsi_encoder_ports(struct intel_encoder *encoder)
>   {
> -	return enc_to_intel_dsi(&encoder->base)->ports;
> +	return enc_to_intel_dsi(encoder)->ports;
>   }
>   
>   /* icl_dsi.c */
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> index bb3fd8b786a2..c87838843d0b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> @@ -46,7 +46,7 @@
>   static u32 dcs_get_backlight(struct intel_connector *connector)
>   {
>   	struct intel_encoder *encoder = connector->encoder;
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct mipi_dsi_device *dsi_device;
>   	u8 data = 0;
>   	enum port port;
> @@ -64,7 +64,7 @@ static u32 dcs_get_backlight(struct intel_connector *connector)
>   
>   static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32 level)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
>   	struct mipi_dsi_device *dsi_device;
>   	u8 data = level;
>   	enum port port;
> @@ -79,7 +79,7 @@ static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32
>   
>   static void dcs_disable_backlight(const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
>   	struct mipi_dsi_device *dsi_device;
>   	enum port port;
>   
> @@ -113,7 +113,7 @@ static void dcs_disable_backlight(const struct drm_connector_state *conn_state)
>   static void dcs_enable_backlight(const struct intel_crtc_state *crtc_state,
>   				 const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
>   	struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel;
>   	struct mipi_dsi_device *dsi_device;
>   	enum port port;
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index a8deb4789f04..e179ee046687 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -85,16 +85,17 @@ assert_hdmi_transcoder_func_disabled(struct drm_i915_private *dev_priv,
>   	     "HDMI transcoder function enabled, expecting disabled\n");
>   }
>   
> -struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
> +struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder)
>   {
>   	struct intel_digital_port *intel_dig_port =
> -		container_of(encoder, struct intel_digital_port, base.base);
> +		container_of(&encoder->base, struct intel_digital_port,
> +			     base.base);
>   	return &intel_dig_port->hdmi;
>   }
>   
>   static struct intel_hdmi *intel_attached_hdmi(struct intel_connector *connector)
>   {
> -	return enc_to_intel_hdmi(&intel_attached_encoder(connector)->base);
> +	return enc_to_intel_hdmi(intel_attached_encoder(connector));
>   }
>   
>   static u32 g4x_infoframe_index(unsigned int type)
> @@ -602,7 +603,7 @@ u32 intel_hdmi_infoframes_enabled(struct intel_encoder *encoder,
>   				  const struct intel_crtc_state *crtc_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	u32 val, ret = 0;
>   	int i;
>   
> @@ -646,7 +647,7 @@ static void intel_write_infoframe(struct intel_encoder *encoder,
>   				  enum hdmi_infoframe_type type,
>   				  const union hdmi_infoframe *frame)
>   {
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
>   	u8 buffer[VIDEO_DIP_DATA_SIZE];
>   	ssize_t len;
>   
> @@ -675,7 +676,7 @@ void intel_read_infoframe(struct intel_encoder *encoder,
>   			  enum hdmi_infoframe_type type,
>   			  union hdmi_infoframe *frame)
>   {
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
>   	u8 buffer[VIDEO_DIP_DATA_SIZE];
>   	int ret;
>   
> @@ -855,7 +856,7 @@ static void g4x_set_infoframes(struct intel_encoder *encoder,
>   			       const struct drm_connector_state *conn_state)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
>   	struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
>   	i915_reg_t reg = VIDEO_DIP_CTL;
>   	u32 val = I915_READ(reg);
> @@ -1038,7 +1039,7 @@ static void ibx_set_infoframes(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
>   	struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
>   	i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe);
>   	u32 val = I915_READ(reg);
> @@ -1097,7 +1098,7 @@ static void cpt_set_infoframes(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe);
>   	u32 val = I915_READ(reg);
>   
> @@ -1146,7 +1147,7 @@ static void vlv_set_infoframes(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	i915_reg_t reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe);
>   	u32 val = I915_READ(reg);
>   	u32 port = VIDEO_DIP_PORT(encoder->port);
> @@ -1737,7 +1738,7 @@ static void intel_hdmi_prepare(struct intel_encoder *encoder,
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	const struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
>   	u32 hdmi_val;
>   
> @@ -1774,7 +1775,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
>   				    enum pipe *pipe)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	intel_wakeref_t wakeref;
>   	bool ret;
>   
> @@ -1793,7 +1794,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
>   static void intel_hdmi_get_config(struct intel_encoder *encoder,
>   				  struct intel_crtc_state *pipe_config)
>   {
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
>   	u32 tmp, flags = 0;
> @@ -1874,7 +1875,7 @@ static void g4x_enable_hdmi(struct intel_encoder *encoder,
>   {
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	u32 temp;
>   
>   	temp = I915_READ(intel_hdmi->hdmi_reg);
> @@ -1896,7 +1897,7 @@ static void ibx_enable_hdmi(struct intel_encoder *encoder,
>   {
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	u32 temp;
>   
>   	temp = I915_READ(intel_hdmi->hdmi_reg);
> @@ -1947,7 +1948,7 @@ static void cpt_enable_hdmi(struct intel_encoder *encoder,
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
>   	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	enum pipe pipe = crtc->pipe;
>   	u32 temp;
>   
> @@ -2007,7 +2008,7 @@ static void intel_disable_hdmi(struct intel_encoder *encoder,
>   {
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	struct intel_digital_port *intel_dig_port =
>   		hdmi_to_dig_port(intel_hdmi);
>   	struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
> @@ -2316,7 +2317,7 @@ static int intel_hdmi_compute_bpc(struct intel_encoder *encoder,
>   				  struct intel_crtc_state *crtc_state,
>   				  int clock, bool force_dvi)
>   {
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	int bpc;
>   
>   	for (bpc = 12; bpc >= 10; bpc -= 2) {
> @@ -2334,7 +2335,7 @@ static int intel_hdmi_compute_clock(struct intel_encoder *encoder,
>   				    struct intel_crtc_state *crtc_state,
>   				    bool force_dvi)
>   {
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	const struct drm_display_mode *adjusted_mode =
>   		&crtc_state->hw.adjusted_mode;
>   	int bpc, clock = adjusted_mode->crtc_clock;
> @@ -2404,7 +2405,7 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
>   			      struct intel_crtc_state *pipe_config,
>   			      struct drm_connector_state *conn_state)
>   {
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
>   	struct drm_connector *connector = conn_state->connector;
> @@ -2663,7 +2664,7 @@ static void intel_hdmi_pre_enable(struct intel_encoder *encoder,
>   				  const struct drm_connector_state *conn_state)
>   {
>   	struct intel_digital_port *intel_dig_port =
> -		enc_to_dig_port(&encoder->base);
> +		enc_to_dig_port(encoder);
>   
>   	intel_hdmi_prepare(encoder, pipe_config);
>   
> @@ -2676,7 +2677,7 @@ static void vlv_hdmi_pre_enable(struct intel_encoder *encoder,
>   				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 intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   
>   	vlv_phy_pre_encoder_enable(encoder, pipe_config);
> @@ -2746,7 +2747,7 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder,
>   				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 intel_digital_port *dport = enc_to_dig_port(encoder);
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
>   
> @@ -2906,7 +2907,7 @@ bool intel_hdmi_handle_sink_scrambling(struct intel_encoder *encoder,
>   				       bool scrambling)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>   	struct drm_scrambling *sink_scrambling =
>   		&connector->display_info.hdmi.scdc.scrambling;
>   	struct i2c_adapter *adapter =
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h
> index cf1ea5427639..d3659d0b408b 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.h
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.h
> @@ -29,7 +29,7 @@ void intel_hdmi_init(struct drm_i915_private *dev_priv, i915_reg_t hdmi_reg,
>   		     enum port port);
>   void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
>   			       struct intel_connector *intel_connector);
> -struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder);
> +struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder);
>   int intel_hdmi_compute_config(struct intel_encoder *encoder,
>   			      struct intel_crtc_state *pipe_config,
>   			      struct drm_connector_state *conn_state);
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index fc29046d48ea..99d3a3c7989e 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -302,7 +302,7 @@ intel_encoder_hotplug(struct intel_encoder *encoder,
>   static bool intel_encoder_has_hpd_pulse(struct intel_encoder *encoder)
>   {
>   	return intel_encoder_is_dig_port(encoder) &&
> -		enc_to_dig_port(&encoder->base)->hpd_pulse != NULL;
> +		enc_to_dig_port(encoder)->hpd_pulse != NULL;
>   }
>   
>   static void i915_digport_work_func(struct work_struct *work)
> @@ -335,7 +335,7 @@ static void i915_digport_work_func(struct work_struct *work)
>   		if (!long_hpd && !short_hpd)
>   			continue;
>   
> -		dig_port = enc_to_dig_port(&encoder->base);
> +		dig_port = enc_to_dig_port(encoder);
>   
>   		ret = dig_port->hpd_pulse(dig_port, long_hpd);
>   		if (ret == IRQ_NONE) {
> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
> index 5145ff8b962b..d807c5648c87 100644
> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
> @@ -434,8 +434,8 @@ void lspcon_write_infoframe(struct intel_encoder *encoder,
>   			    const void *frame, ssize_t len)
>   {
>   	bool ret;
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> -	struct intel_lspcon *lspcon = enc_to_intel_lspcon(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +	struct intel_lspcon *lspcon = enc_to_intel_lspcon(encoder);
>   
>   	/* LSPCON only needs AVI IF */
>   	if (type != HDMI_INFOFRAME_TYPE_AVI)
> @@ -472,7 +472,7 @@ void lspcon_set_infoframes(struct intel_encoder *encoder,
>   	ssize_t ret;
>   	union hdmi_infoframe frame;
>   	u8 buf[VIDEO_DIP_DATA_SIZE];
> -	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> +	struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>   	struct intel_lspcon *lspcon = &dig_port->lspcon;
>   	const struct drm_display_mode *adjusted_mode =
>   		&crtc_state->hw.adjusted_mode;
> @@ -522,7 +522,7 @@ u32 lspcon_infoframes_enabled(struct intel_encoder *encoder,
>   			      const struct intel_crtc_state *pipe_config)
>   {
>   	/* FIXME actually read this from the hw */
> -	return enc_to_intel_lspcon(&encoder->base)->active;
> +	return enc_to_intel_lspcon(encoder)->active;
>   }
>   
>   void lspcon_resume(struct intel_lspcon *lspcon)
> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> index 2746512f4466..520408e83681 100644
> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> @@ -98,7 +98,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>   			break;
>   		case INTEL_OUTPUT_DP:
>   		case INTEL_OUTPUT_EDP:
> -			dig_port = enc_to_dig_port(&encoder->base);
> +			dig_port = enc_to_dig_port(encoder);
>   			switch (dig_port->base.port) {
>   			case PORT_B:
>   				*source = INTEL_PIPE_CRC_SOURCE_DP_B;
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index b23ba8d108db..075b6e4f66c6 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -339,7 +339,7 @@ static const struct rc_parameters *get_rc_params(u16 compressed_bpp,
>   static int intel_dsc_dp_compute_params(struct intel_encoder *encoder,
>   				       struct intel_crtc_state *pipe_config)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct drm_dsc_config *vdsc_cfg = &pipe_config->dsc.config;
>   	u8 line_buf_depth;
>   
> @@ -904,7 +904,7 @@ static void intel_dsc_pps_configure(struct intel_encoder *encoder,
>   static void intel_dsc_dp_pps_write(struct intel_encoder *encoder,
>   				   const struct intel_crtc_state *crtc_state)
>   {
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   	struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
>   	const struct drm_dsc_config *vdsc_cfg = &crtc_state->dsc.config;
>   	struct drm_dsc_pps_infoframe dp_dsc_pps_sdp;
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index 8398a265b6a3..0c19064e42e0 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -319,7 +319,7 @@ static int intel_dsi_compute_config(struct intel_encoder *encoder,
>   static bool glk_dsi_enable_io(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 tmp;
>   	bool cold_boot = false;
> @@ -367,7 +367,7 @@ static bool glk_dsi_enable_io(struct intel_encoder *encoder)
>   static void glk_dsi_device_ready(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> @@ -438,7 +438,7 @@ static void glk_dsi_device_ready(struct intel_encoder *encoder)
>   static void bxt_dsi_device_ready(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> @@ -465,7 +465,7 @@ static void bxt_dsi_device_ready(struct intel_encoder *encoder)
>   static void vlv_dsi_device_ready(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> @@ -516,7 +516,7 @@ static void intel_dsi_device_ready(struct intel_encoder *encoder)
>   static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> @@ -546,7 +546,7 @@ static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
>   static void glk_dsi_disable_mipi_io(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 tmp;
>   
> @@ -579,7 +579,7 @@ static void glk_dsi_clear_device_ready(struct intel_encoder *encoder)
>   static void vlv_dsi_clear_device_ready(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   
>   	DRM_DEBUG_KMS("\n");
> @@ -625,7 +625,7 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   
>   	if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) {
> @@ -681,7 +681,7 @@ static void intel_dsi_port_disable(struct intel_encoder *encoder)
>   {
>   	struct drm_device *dev = encoder->base.dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   
>   	for_each_dsi_port(port, intel_dsi->ports) {
> @@ -745,7 +745,7 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder,
>   				 const struct intel_crtc_state *pipe_config,
>   				 const struct drm_connector_state *conn_state)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct drm_crtc *crtc = pipe_config->uapi.crtc;
>   	struct drm_i915_private *dev_priv = to_i915(crtc->dev);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> @@ -850,7 +850,7 @@ static void intel_dsi_disable(struct intel_encoder *encoder,
>   			      const struct intel_crtc_state *old_crtc_state,
>   			      const struct drm_connector_state *old_conn_state)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   
>   	DRM_DEBUG_KMS("\n");
> @@ -886,7 +886,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder,
>   				   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);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> @@ -956,7 +956,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>   				   enum pipe *pipe)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	intel_wakeref_t wakeref;
>   	enum port port;
>   	bool active = false;
> @@ -1035,7 +1035,7 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
>   					&pipe_config->hw.adjusted_mode;
>   	struct drm_display_mode *adjusted_mode_sw;
>   	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	unsigned int lane_count = intel_dsi->lane_count;
>   	unsigned int bpp, fmt;
>   	enum port port;
> @@ -1228,7 +1228,7 @@ static void set_dsi_timings(struct drm_encoder *encoder,
>   {
>   	struct drm_device *dev = encoder->dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
>   	enum port port;
>   	unsigned int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
>   	unsigned int lane_count = intel_dsi->lane_count;
> @@ -1316,7 +1316,7 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
>   	struct drm_device *dev = encoder->dev;
>   	struct drm_i915_private *dev_priv = to_i915(dev);
>   	struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
>   	const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
>   	enum port port;
>   	unsigned int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
> @@ -1506,7 +1506,7 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
>   static void intel_dsi_unprepare(struct intel_encoder *encoder)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> @@ -1533,7 +1533,7 @@ static void intel_dsi_unprepare(struct intel_encoder *encoder)
>   
>   static void intel_dsi_encoder_destroy(struct drm_encoder *encoder)
>   {
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
>   
>   	/* dispose of the gpios */
>   	if (intel_dsi->gpio_panel)
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> index 95f39cd0ce02..6b89e67b120f 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> @@ -117,7 +117,7 @@ int vlv_dsi_pll_compute(struct intel_encoder *encoder,
>   			struct intel_crtc_state *config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	int ret;
>   	u32 dsi_clk;
>   
> @@ -255,7 +255,7 @@ u32 vlv_dsi_get_pclk(struct intel_encoder *encoder,
>   		     struct intel_crtc_state *config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
>   	u32 dsi_clock, pclk;
>   	u32 pll_ctl, pll_div;
> @@ -321,7 +321,7 @@ u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
>   	u32 pclk;
>   	u32 dsi_clk;
>   	u32 dsi_ratio;
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   	int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
>   
> @@ -341,7 +341,7 @@ void vlv_dsi_reset_clocks(struct intel_encoder *encoder, enum port port)
>   {
>   	u32 temp;
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   
>   	temp = I915_READ(MIPI_CTRL(port));
>   	temp &= ~ESCAPE_CLOCK_DIVIDER_MASK;
> @@ -455,7 +455,7 @@ int bxt_dsi_pll_compute(struct intel_encoder *encoder,
>   			struct intel_crtc_state *config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	u8 dsi_ratio, dsi_ratio_min, dsi_ratio_max;
>   	u32 dsi_clk;
>   
> @@ -503,7 +503,7 @@ void bxt_dsi_pll_enable(struct intel_encoder *encoder,
>   			const struct intel_crtc_state *config)
>   {
>   	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> -	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>   	enum port port;
>   	u32 val;
>   
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 4f543ccec15d..3bc8d5c0e88a 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct seq_file *m, void *data)
>   	struct drm_connector *connector = m->private;
>   	struct drm_i915_private *dev_priv = to_i915(connector->dev);
>   	struct intel_dp *intel_dp =
> -		enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> +		enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
>   	int ret;
>   
>   	if (!CAN_PSR(dev_priv)) {
> @@ -2432,7 +2432,7 @@ static void intel_dp_info(struct seq_file *m,
>   			  struct intel_connector *intel_connector)
>   {
>   	struct intel_encoder *intel_encoder = intel_connector->encoder;
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
>   
>   	seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
>   	seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
> @@ -2452,7 +2452,7 @@ static void intel_dp_mst_info(struct seq_file *m,
>   {
>   	struct intel_encoder *intel_encoder = intel_connector->encoder;
>   	struct intel_dp_mst_encoder *intel_mst =
> -		enc_to_mst(&intel_encoder->base);
> +		enc_to_mst(intel_encoder);
>   	struct intel_digital_port *intel_dig_port = intel_mst->primary;
>   	struct intel_dp *intel_dp = &intel_dig_port->dp;
>   	bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
> @@ -2465,7 +2465,7 @@ static void intel_hdmi_info(struct seq_file *m,
>   			    struct intel_connector *intel_connector)
>   {
>   	struct intel_encoder *intel_encoder = intel_connector->encoder;
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&intel_encoder->base);
> +	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
>   
>   	seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
>   	if (intel_connector->hdcp.shim) {
> @@ -3059,7 +3059,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused)
>   		if (!intel_encoder || intel_encoder->type == INTEL_OUTPUT_DP_MST)
>   			continue;
>   
> -		intel_dig_port = enc_to_dig_port(&intel_encoder->base);
> +		intel_dig_port = enc_to_dig_port(intel_encoder);
>   		if (!intel_dig_port->dp.can_mst)
>   			continue;
>   
> @@ -3109,7 +3109,7 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
>   			continue;
>   
>   		if (encoder && connector->status == connector_status_connected) {
> -			intel_dp = enc_to_intel_dp(&encoder->base);
> +			intel_dp = enc_to_intel_dp(encoder);
>   			status = kstrtoint(input_buffer, 10, &val);
>   			if (status < 0)
>   				break;
> @@ -3153,7 +3153,7 @@ static int i915_displayport_test_active_show(struct seq_file *m, void *data)
>   			continue;
>   
>   		if (encoder && connector->status == connector_status_connected) {
> -			intel_dp = enc_to_intel_dp(&encoder->base);
> +			intel_dp = enc_to_intel_dp(encoder);
>   			if (intel_dp->compliance.test_active)
>   				seq_puts(m, "1");
>   			else
> @@ -3203,7 +3203,7 @@ static int i915_displayport_test_data_show(struct seq_file *m, void *data)
>   			continue;
>   
>   		if (encoder && connector->status == connector_status_connected) {
> -			intel_dp = enc_to_intel_dp(&encoder->base);
> +			intel_dp = enc_to_intel_dp(encoder);
>   			if (intel_dp->compliance.test_type ==
>   			    DP_TEST_LINK_EDID_READ)
>   				seq_printf(m, "%lx",
> @@ -3247,7 +3247,7 @@ static int i915_displayport_test_type_show(struct seq_file *m, void *data)
>   			continue;
>   
>   		if (encoder && connector->status == connector_status_connected) {
> -			intel_dp = enc_to_intel_dp(&encoder->base);
> +			intel_dp = enc_to_intel_dp(encoder);
>   			seq_printf(m, "%02lx", intel_dp->compliance.test_type);
>   		} else
>   			seq_puts(m, "0");
> @@ -4192,7 +4192,7 @@ static int i915_drrs_ctl_set(void *data, u64 val)
>   			DRM_DEBUG_DRIVER("Manually %sabling DRRS. %llu\n",
>   						val ? "en" : "dis", val);
>   
> -			intel_dp = enc_to_intel_dp(&encoder->base);
> +			intel_dp = enc_to_intel_dp(encoder);
>   			if (val)
>   				intel_edp_drrs_enable(intel_dp,
>   						      crtc_state);
> @@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
>   {
>   	struct drm_connector *connector = m->private;
>   	struct intel_dp *intel_dp =
> -		enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> +		enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
>   	u8 buf[16];
>   	ssize_t err;
>   	int i;
> @@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m, void *data)
>   {
>   	struct drm_connector *connector = m->private;
>   	struct intel_dp *intel_dp =
> -		enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> +		enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
>   
>   	if (connector->status != connector_status_connected)
>   		return -ENODEV;
> @@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
>   		} else if (ret) {
>   			break;
>   		}
> -		intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> +		intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
>   		crtc_state = to_intel_crtc_state(crtc->state);
>   		seq_printf(m, "DSC_Enabled: %s\n",
>   			   yesno(crtc_state->dsc.compression_enable));
> @@ -4537,7 +4537,7 @@ static ssize_t i915_dsc_fec_support_write(struct file *file,
>   	struct drm_connector *connector =
>   		((struct seq_file *)file->private_data)->private;
>   	struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
> -	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> +	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>   
>   	if (len == 0)
>   		return 0;
> 



More information about the Intel-gfx mailing list