[PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Oct 24 15:58:21 UTC 2024


On Thu, Oct 24, 2024 at 05:30:35PM +0300, Jani Nikula wrote:
> Convert I915_STATE_WARN() to struct intel_display *, and rename to
> INTEL_DISPLAY_STATE_WARN(). Do some minor opportunistic struct
> drm_i915_private to struct intel_display conversions while at it.
> 
> Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
> 
> Another option would be to convert I915_STATE_WARN() directly to
> drm_WARN() or drm_err() and throw out the i915.verbose_state_checks
> module parameter.
> 
> Note: This is much easier to review with git show -w or --color-words or
> both.
> ---
>  drivers/gpu/drm/i915/display/g4x_dp.c         | 15 ++--
>  drivers/gpu/drm/i915/display/intel_crtc.c     |  8 +-
>  drivers/gpu/drm/i915/display/intel_cx0_phy.c  | 76 ++++++++--------
>  drivers/gpu/drm/i915/display/intel_display.c  | 19 ++--
>  drivers/gpu/drm/i915/display/intel_display.h  | 17 ++--
>  .../drm/i915/display/intel_display_power.c    | 73 +++++++--------
>  drivers/gpu/drm/i915/display/intel_dpll.c     |  9 +-
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 90 ++++++++++---------
>  drivers/gpu/drm/i915/display/intel_fdi.c      | 42 +++++----
>  .../drm/i915/display/intel_modeset_verify.c   | 89 +++++++++---------
>  .../gpu/drm/i915/display/intel_pch_display.c  | 56 ++++++------
>  drivers/gpu/drm/i915/display/intel_pps.c      | 26 +++---
>  drivers/gpu/drm/i915/display/intel_snps_phy.c | 11 +--
>  drivers/gpu/drm/i915/display/vlv_dsi_pll.c    |  7 +-
>  14 files changed, 277 insertions(+), 261 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
> index 440fb3002f28..dfe5a40fda1e 100644
> --- a/drivers/gpu/drm/i915/display/g4x_dp.c
> +++ b/drivers/gpu/drm/i915/display/g4x_dp.c
> @@ -170,13 +170,12 @@ static void assert_dp_port(struct intel_dp *intel_dp, bool state)
>  {
>  	struct intel_display *display = to_intel_display(intel_dp);
>  	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
>  	bool cur_state = intel_de_read(display, intel_dp->output_reg) & DP_PORT_EN;
>  
> -	I915_STATE_WARN(dev_priv, cur_state != state,
> -			"[ENCODER:%d:%s] state assertion failure (expected %s, current %s)\n",
> -			dig_port->base.base.base.id, dig_port->base.base.name,
> -			str_on_off(state), str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "[ENCODER:%d:%s] state assertion failure (expected %s, current %s)\n",
> +				 dig_port->base.base.base.id, dig_port->base.base.name,
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  #define assert_dp_port_disabled(d) assert_dp_port((d), false)
>  
> @@ -185,9 +184,9 @@ static void assert_edp_pll(struct drm_i915_private *dev_priv, bool state)
>  	struct intel_display *display = &dev_priv->display;
>  	bool cur_state = intel_de_read(display, DP_A) & DP_PLL_ENABLE;
>  
> -	I915_STATE_WARN(dev_priv, cur_state != state,
> -			"eDP PLL state assertion failure (expected %s, current %s)\n",
> -			str_on_off(state), str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "eDP PLL state assertion failure (expected %s, current %s)\n",
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  #define assert_edp_pll_enabled(d) assert_edp_pll((d), true)
>  #define assert_edp_pll_disabled(d) assert_edp_pll((d), false)
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
> index 3c9168a57f38..a2c528d707f4 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -36,11 +36,11 @@
>  
>  static void assert_vblank_disabled(struct drm_crtc *crtc)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->dev);
> +	struct intel_display *display = to_intel_display(crtc->dev);
>  
> -	if (I915_STATE_WARN(i915, drm_crtc_vblank_get(crtc) == 0,
> -			    "[CRTC:%d:%s] vblank assertion failure (expected off, current on)\n",
> -			    crtc->base.id, crtc->name))
> +	if (INTEL_DISPLAY_STATE_WARN(display, drm_crtc_vblank_get(crtc) == 0,
> +				     "[CRTC:%d:%s] vblank assertion failure (expected off, current on)\n",
> +				     crtc->base.id, crtc->name))
>  		drm_crtc_vblank_put(crtc);
>  }
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> index 8bd5a4d1b735..638a8167361c 100644
> --- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
> @@ -3272,28 +3272,28 @@ static void intel_c10pll_state_verify(const struct intel_crtc_state *state,
>  				      struct intel_encoder *encoder,
>  				      struct intel_c10pll_state *mpllb_hw_state)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct intel_display *display = to_intel_display(state);
>  	const struct intel_c10pll_state *mpllb_sw_state = &state->dpll_hw_state.cx0pll.c10;
>  	int i;
>  
>  	for (i = 0; i < ARRAY_SIZE(mpllb_sw_state->pll); i++) {
>  		u8 expected = mpllb_sw_state->pll[i];
>  
> -		I915_STATE_WARN(i915, mpllb_hw_state->pll[i] != expected,
> -				"[CRTC:%d:%s] mismatch in C10MPLLB: Register[%d] (expected 0x%02x, found 0x%02x)",
> -				crtc->base.base.id, crtc->base.name, i,
> -				expected, mpllb_hw_state->pll[i]);
> +		INTEL_DISPLAY_STATE_WARN(display, mpllb_hw_state->pll[i] != expected,
> +					 "[CRTC:%d:%s] mismatch in C10MPLLB: Register[%d] (expected 0x%02x, found 0x%02x)",
> +					 crtc->base.base.id, crtc->base.name, i,
> +					 expected, mpllb_hw_state->pll[i]);
>  	}
>  
> -	I915_STATE_WARN(i915, mpllb_hw_state->tx != mpllb_sw_state->tx,
> -			"[CRTC:%d:%s] mismatch in C10MPLLB: Register TX0 (expected 0x%02x, found 0x%02x)",
> -			crtc->base.base.id, crtc->base.name,
> -			mpllb_sw_state->tx, mpllb_hw_state->tx);
> +	INTEL_DISPLAY_STATE_WARN(display, mpllb_hw_state->tx != mpllb_sw_state->tx,
> +				 "[CRTC:%d:%s] mismatch in C10MPLLB: Register TX0 (expected 0x%02x, found 0x%02x)",
> +				 crtc->base.base.id, crtc->base.name,
> +				 mpllb_sw_state->tx, mpllb_hw_state->tx);
>  
> -	I915_STATE_WARN(i915, mpllb_hw_state->cmn != mpllb_sw_state->cmn,
> -			"[CRTC:%d:%s] mismatch in C10MPLLB: Register CMN0 (expected 0x%02x, found 0x%02x)",
> -			crtc->base.base.id, crtc->base.name,
> -			mpllb_sw_state->cmn, mpllb_hw_state->cmn);
> +	INTEL_DISPLAY_STATE_WARN(display, mpllb_hw_state->cmn != mpllb_sw_state->cmn,
> +				 "[CRTC:%d:%s] mismatch in C10MPLLB: Register CMN0 (expected 0x%02x, found 0x%02x)",
> +				 crtc->base.base.id, crtc->base.name,
> +				 mpllb_sw_state->cmn, mpllb_hw_state->cmn);
>  }
>  
>  void intel_cx0pll_readout_hw_state(struct intel_encoder *encoder,
> @@ -3379,51 +3379,51 @@ static void intel_c20pll_state_verify(const struct intel_crtc_state *state,
>  				      struct intel_encoder *encoder,
>  				      struct intel_c20pll_state *mpll_hw_state)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct intel_display *display = to_intel_display(state);
>  	const struct intel_c20pll_state *mpll_sw_state = &state->dpll_hw_state.cx0pll.c20;
>  	bool sw_use_mpllb = intel_c20phy_use_mpllb(mpll_sw_state);
>  	bool hw_use_mpllb = intel_c20phy_use_mpllb(mpll_hw_state);
>  	int clock = intel_c20pll_calc_port_clock(encoder, mpll_sw_state);
>  	int i;
>  
> -	I915_STATE_WARN(i915, mpll_hw_state->clock != clock,
> -			"[CRTC:%d:%s] mismatch in C20: Register CLOCK (expected %d, found %d)",
> -			crtc->base.base.id, crtc->base.name,
> -			mpll_sw_state->clock, mpll_hw_state->clock);
> +	INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->clock != clock,
> +				 "[CRTC:%d:%s] mismatch in C20: Register CLOCK (expected %d, found %d)",
> +				 crtc->base.base.id, crtc->base.name,
> +				 mpll_sw_state->clock, mpll_hw_state->clock);
>  
> -	I915_STATE_WARN(i915, sw_use_mpllb != hw_use_mpllb,
> -			"[CRTC:%d:%s] mismatch in C20: Register MPLLB selection (expected %d, found %d)",
> -			crtc->base.base.id, crtc->base.name,
> -			sw_use_mpllb, hw_use_mpllb);
> +	INTEL_DISPLAY_STATE_WARN(display, sw_use_mpllb != hw_use_mpllb,
> +				 "[CRTC:%d:%s] mismatch in C20: Register MPLLB selection (expected %d, found %d)",
> +				 crtc->base.base.id, crtc->base.name,
> +				 sw_use_mpllb, hw_use_mpllb);
>  
>  	if (hw_use_mpllb) {
>  		for (i = 0; i < ARRAY_SIZE(mpll_sw_state->mpllb); i++) {
> -			I915_STATE_WARN(i915, mpll_hw_state->mpllb[i] != mpll_sw_state->mpllb[i],
> -					"[CRTC:%d:%s] mismatch in C20MPLLB: Register[%d] (expected 0x%04x, found 0x%04x)",
> -					crtc->base.base.id, crtc->base.name, i,
> -					mpll_sw_state->mpllb[i], mpll_hw_state->mpllb[i]);
> +			INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->mpllb[i] != mpll_sw_state->mpllb[i],
> +						 "[CRTC:%d:%s] mismatch in C20MPLLB: Register[%d] (expected 0x%04x, found 0x%04x)",
> +						 crtc->base.base.id, crtc->base.name, i,
> +						 mpll_sw_state->mpllb[i], mpll_hw_state->mpllb[i]);
>  		}
>  	} else {
>  		for (i = 0; i < ARRAY_SIZE(mpll_sw_state->mplla); i++) {
> -			I915_STATE_WARN(i915, mpll_hw_state->mplla[i] != mpll_sw_state->mplla[i],
> -					"[CRTC:%d:%s] mismatch in C20MPLLA: Register[%d] (expected 0x%04x, found 0x%04x)",
> -					crtc->base.base.id, crtc->base.name, i,
> -					mpll_sw_state->mplla[i], mpll_hw_state->mplla[i]);
> +			INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->mplla[i] != mpll_sw_state->mplla[i],
> +						 "[CRTC:%d:%s] mismatch in C20MPLLA: Register[%d] (expected 0x%04x, found 0x%04x)",
> +						 crtc->base.base.id, crtc->base.name, i,
> +						 mpll_sw_state->mplla[i], mpll_hw_state->mplla[i]);
>  		}
>  	}
>  
>  	for (i = 0; i < ARRAY_SIZE(mpll_sw_state->tx); i++) {
> -		I915_STATE_WARN(i915, mpll_hw_state->tx[i] != mpll_sw_state->tx[i],
> -				"[CRTC:%d:%s] mismatch in C20: Register TX[%i] (expected 0x%04x, found 0x%04x)",
> -				crtc->base.base.id, crtc->base.name, i,
> -				mpll_sw_state->tx[i], mpll_hw_state->tx[i]);
> +		INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->tx[i] != mpll_sw_state->tx[i],
> +					 "[CRTC:%d:%s] mismatch in C20: Register TX[%i] (expected 0x%04x, found 0x%04x)",
> +					 crtc->base.base.id, crtc->base.name, i,
> +					 mpll_sw_state->tx[i], mpll_hw_state->tx[i]);
>  	}
>  
>  	for (i = 0; i < ARRAY_SIZE(mpll_sw_state->cmn); i++) {
> -		I915_STATE_WARN(i915, mpll_hw_state->cmn[i] != mpll_sw_state->cmn[i],
> -				"[CRTC:%d:%s] mismatch in C20: Register CMN[%i] (expected 0x%04x, found 0x%04x)",
> -				crtc->base.base.id, crtc->base.name, i,
> -				mpll_sw_state->cmn[i], mpll_hw_state->cmn[i]);
> +		INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->cmn[i] != mpll_sw_state->cmn[i],
> +					 "[CRTC:%d:%s] mismatch in C20: Register CMN[%i] (expected 0x%04x, found 0x%04x)",
> +					 crtc->base.base.id, crtc->base.name, i,
> +					 mpll_sw_state->cmn[i], mpll_hw_state->cmn[i]);
>  	}
>  }
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index ef1436146325..54e68b876be9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -422,6 +422,7 @@ intel_wait_for_pipe_off(const struct intel_crtc_state *old_crtc_state)
>  void assert_transcoder(struct drm_i915_private *dev_priv,
>  		       enum transcoder cpu_transcoder, bool state)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	bool cur_state;
>  	enum intel_display_power_domain power_domain;
>  	intel_wakeref_t wakeref;
> @@ -442,24 +443,24 @@ void assert_transcoder(struct drm_i915_private *dev_priv,
>  		cur_state = false;
>  	}
>  
> -	I915_STATE_WARN(dev_priv, cur_state != state,
> -			"transcoder %s assertion failure (expected %s, current %s)\n",
> -			transcoder_name(cpu_transcoder), str_on_off(state),
> -			str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "transcoder %s assertion failure (expected %s, current %s)\n",
> +				 transcoder_name(cpu_transcoder), str_on_off(state),
> +				 str_on_off(cur_state));
>  }
>  
>  static void assert_plane(struct intel_plane *plane, bool state)
>  {
> -	struct drm_i915_private *i915 = to_i915(plane->base.dev);
> +	struct intel_display *display = to_intel_display(plane->base.dev);
>  	enum pipe pipe;
>  	bool cur_state;
>  
>  	cur_state = plane->get_hw_state(plane, &pipe);
>  
> -	I915_STATE_WARN(i915, cur_state != state,
> -			"%s assertion failure (expected %s, current %s)\n",
> -			plane->base.name, str_on_off(state),
> -			str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "%s assertion failure (expected %s, current %s)\n",
> +				 plane->base.name, str_on_off(state),
> +				 str_on_off(cur_state));
>  }
>  
>  #define assert_plane_enabled(p) assert_plane(p, true)
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index 61e1df878de9..dd56d60a7d0c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -585,18 +585,17 @@ void assert_transcoder(struct drm_i915_private *dev_priv,
>  bool assert_port_valid(struct drm_i915_private *i915, enum port port);
>  
>  /*
> - * Use I915_STATE_WARN(x) (rather than WARN() and WARN_ON()) for hw state sanity
> - * checks to check for unexpected conditions which may not necessarily be a user
> - * visible problem. This will either WARN() or DRM_ERROR() depending on the
> - * verbose_state_checks module param, to enable distros and users to tailor
> - * their preferred amount of i915 abrt spam.
> + * Use INTEL_DISPLAY_STATE_WARN(x) (rather than WARN() and WARN_ON()) for hw
> + * state sanity checks to check for unexpected conditions which may not
> + * necessarily be a user visible problem. This will either drm_WARN() or
> + * drm_err() depending on the verbose_state_checks module param, to enable
> + * distros and users to tailor their preferred amount of i915 abrt spam.
>   */
> -#define I915_STATE_WARN(__i915, condition, format...) ({		\
> -	struct drm_device *drm = &(__i915)->drm;			\
> +#define INTEL_DISPLAY_STATE_WARN(__display, condition, format...) ({	\
>  	int __ret_warn_on = !!(condition);				\
>  	if (unlikely(__ret_warn_on))					\
> -		if (!drm_WARN(drm, __i915->display.params.verbose_state_checks, format)) \
> -			drm_err(drm, format);				\
> +		if (!drm_WARN((__display)->drm, (__display)->params.verbose_state_checks, format)) \
> +			drm_err((__display)->drm, format);		\
>  	unlikely(__ret_warn_on);					\
>  })
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index c2bc80f5bf6b..d0c21c89c471 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -1176,43 +1176,44 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
>  
>  static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	struct intel_crtc *crtc;
>  
> -	for_each_intel_crtc(&dev_priv->drm, crtc)
> -		I915_STATE_WARN(dev_priv, crtc->active,
> -				"CRTC for pipe %c enabled\n",
> -				pipe_name(crtc->pipe));
> -
> -	I915_STATE_WARN(dev_priv, intel_de_read(dev_priv, HSW_PWR_WELL_CTL2),
> -			"Display power well on\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, SPLL_CTL) & SPLL_PLL_ENABLE,
> -			"SPLL enabled\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, WRPLL_CTL(0)) & WRPLL_PLL_ENABLE,
> -			"WRPLL1 enabled\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, WRPLL_CTL(1)) & WRPLL_PLL_ENABLE,
> -			"WRPLL2 enabled\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, PP_STATUS(dev_priv, 0)) & PP_ON,
> -			"Panel power on\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, BLC_PWM_CPU_CTL2) & BLM_PWM_ENABLE,
> -			"CPU PWM1 enabled\n");
> +	for_each_intel_crtc(display->drm, crtc)
> +		INTEL_DISPLAY_STATE_WARN(display, crtc->active,
> +					 "CRTC for pipe %c enabled\n",
> +					 pipe_name(crtc->pipe));
> +
> +	INTEL_DISPLAY_STATE_WARN(display, intel_de_read(display, HSW_PWR_WELL_CTL2),
> +				 "Display power well on\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, SPLL_CTL) & SPLL_PLL_ENABLE,
> +				 "SPLL enabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, WRPLL_CTL(0)) & WRPLL_PLL_ENABLE,
> +				 "WRPLL1 enabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, WRPLL_CTL(1)) & WRPLL_PLL_ENABLE,
> +				 "WRPLL2 enabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, PP_STATUS(display, 0)) & PP_ON,
> +				 "Panel power on\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, BLC_PWM_CPU_CTL2) & BLM_PWM_ENABLE,
> +				 "CPU PWM1 enabled\n");
>  	if (IS_HASWELL(dev_priv))
> -		I915_STATE_WARN(dev_priv,
> -				intel_de_read(dev_priv, HSW_BLC_PWM2_CTL) & BLM_PWM_ENABLE,
> -				"CPU PWM2 enabled\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, BLC_PWM_PCH_CTL1) & BLM_PCH_PWM_ENABLE,
> -			"PCH PWM1 enabled\n");
> -	I915_STATE_WARN(dev_priv,
> -			(intel_de_read(dev_priv, UTIL_PIN_CTL) & (UTIL_PIN_ENABLE | UTIL_PIN_MODE_MASK)) == (UTIL_PIN_ENABLE | UTIL_PIN_MODE_PWM),
> -			"Utility pin enabled in PWM mode\n");
> -	I915_STATE_WARN(dev_priv,
> -			intel_de_read(dev_priv, PCH_GTC_CTL) & PCH_GTC_ENABLE,
> -			"PCH GTC enabled\n");
> +		INTEL_DISPLAY_STATE_WARN(display,
> +					 intel_de_read(display, HSW_BLC_PWM2_CTL) & BLM_PWM_ENABLE,
> +					 "CPU PWM2 enabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, BLC_PWM_PCH_CTL1) & BLM_PCH_PWM_ENABLE,
> +				 "PCH PWM1 enabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 (intel_de_read(display, UTIL_PIN_CTL) & (UTIL_PIN_ENABLE | UTIL_PIN_MODE_MASK)) == (UTIL_PIN_ENABLE | UTIL_PIN_MODE_PWM),
> +				 "Utility pin enabled in PWM mode\n");
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_de_read(display, PCH_GTC_CTL) & PCH_GTC_ENABLE,
> +				 "PCH GTC enabled\n");
>  
>  	/*
>  	 * In theory we can still leave IRQs enabled, as long as only the HPD
> @@ -1220,8 +1221,8 @@ static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
>  	 * gen-specific and since we only disable LCPLL after we fully disable
>  	 * the interrupts, the check below should be enough.
>  	 */
> -	I915_STATE_WARN(dev_priv, intel_irqs_enabled(dev_priv),
> -			"IRQs enabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display, intel_irqs_enabled(dev_priv),
> +				 "IRQs enabled\n");
>  }
>  
>  static u32 hsw_read_dcomp(struct drm_i915_private *dev_priv)
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll.c b/drivers/gpu/drm/i915/display/intel_dpll.c
> index c0a3c4b53b0a..198ceda790d2 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll.c
> @@ -2331,12 +2331,13 @@ void vlv_force_pll_off(struct drm_i915_private *dev_priv, enum pipe pipe)
>  static void assert_pll(struct drm_i915_private *dev_priv,
>  		       enum pipe pipe, bool state)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	bool cur_state;
>  
> -	cur_state = intel_de_read(dev_priv, DPLL(dev_priv, pipe)) & DPLL_VCO_ENABLE;
> -	I915_STATE_WARN(dev_priv, cur_state != state,
> -			"PLL state assertion failure (expected %s, current %s)\n",
> -			str_on_off(state), str_on_off(cur_state));
> +	cur_state = intel_de_read(display, DPLL(display, pipe)) & DPLL_VCO_ENABLE;
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "PLL state assertion failure (expected %s, current %s)\n",
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_pll_enabled(struct drm_i915_private *i915, enum pipe pipe)
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index f490b2157828..c9eda647919a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -173,18 +173,19 @@ void assert_shared_dpll(struct drm_i915_private *i915,
>  			struct intel_shared_dpll *pll,
>  			bool state)
>  {
> +	struct intel_display *display = &i915->display;
>  	bool cur_state;
>  	struct intel_dpll_hw_state hw_state;
>  
> -	if (drm_WARN(&i915->drm, !pll,
> +	if (drm_WARN(display->drm, !pll,
>  		     "asserting DPLL %s with no DPLL\n", str_on_off(state)))
>  		return;
>  
>  	cur_state = intel_dpll_get_hw_state(i915, pll, &hw_state);
> -	I915_STATE_WARN(i915, cur_state != state,
> -			"%s assertion failure (expected %s, current %s)\n",
> -			pll->info->name, str_on_off(state),
> -			str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "%s assertion failure (expected %s, current %s)\n",
> +				 pll->info->name, str_on_off(state),
> +				 str_on_off(cur_state));
>  }
>  
>  static enum tc_port icl_pll_id_to_tc_port(enum intel_dpll_id id)
> @@ -545,14 +546,15 @@ static bool ibx_pch_dpll_get_hw_state(struct drm_i915_private *i915,
>  
>  static void ibx_assert_pch_refclk_enabled(struct drm_i915_private *i915)
>  {
> +	struct intel_display *display = &i915->display;
>  	u32 val;
>  	bool enabled;
>  
> -	val = intel_de_read(i915, PCH_DREF_CONTROL);
> +	val = intel_de_read(display, PCH_DREF_CONTROL);
>  	enabled = !!(val & (DREF_SSC_SOURCE_MASK | DREF_NONSPREAD_SOURCE_MASK |
>  			    DREF_SUPERSPREAD_SOURCE_MASK));
> -	I915_STATE_WARN(i915, !enabled,
> -			"PCH refclk assertion failure, should be active but is disabled\n");
> +	INTEL_DISPLAY_STATE_WARN(display, !enabled,
> +				 "PCH refclk assertion failure, should be active but is disabled\n");
>  }
>  
>  static void ibx_pch_dpll_enable(struct drm_i915_private *i915,
> @@ -4619,6 +4621,7 @@ verify_single_dpll_state(struct drm_i915_private *i915,
>  			 struct intel_crtc *crtc,
>  			 const struct intel_crtc_state *new_crtc_state)
>  {
> +	struct intel_display *display = &i915->display;
>  	struct intel_dpll_hw_state dpll_hw_state = {};
>  	u8 pipe_mask;
>  	bool active;
> @@ -4626,22 +4629,22 @@ verify_single_dpll_state(struct drm_i915_private *i915,
>  	active = intel_dpll_get_hw_state(i915, pll, &dpll_hw_state);
>  
>  	if (!pll->info->always_on) {
> -		I915_STATE_WARN(i915, !pll->on && pll->active_mask,
> -				"%s: pll in active use but not on in sw tracking\n",
> -				pll->info->name);
> -		I915_STATE_WARN(i915, pll->on && !pll->active_mask,
> -				"%s: pll is on but not used by any active pipe\n",
> -				pll->info->name);
> -		I915_STATE_WARN(i915, pll->on != active,
> -				"%s: pll on state mismatch (expected %i, found %i)\n",
> -				pll->info->name, pll->on, active);
> +		INTEL_DISPLAY_STATE_WARN(display, !pll->on && pll->active_mask,
> +					 "%s: pll in active use but not on in sw tracking\n",
> +					 pll->info->name);
> +		INTEL_DISPLAY_STATE_WARN(display, pll->on && !pll->active_mask,
> +					 "%s: pll is on but not used by any active pipe\n",
> +					 pll->info->name);
> +		INTEL_DISPLAY_STATE_WARN(display, pll->on != active,
> +					 "%s: pll on state mismatch (expected %i, found %i)\n",
> +					 pll->info->name, pll->on, active);
>  	}
>  
>  	if (!crtc) {
> -		I915_STATE_WARN(i915,
> -				pll->active_mask & ~pll->state.pipe_mask,
> -				"%s: more active pll users than references: 0x%x vs 0x%x\n",
> -				pll->info->name, pll->active_mask, pll->state.pipe_mask);
> +		INTEL_DISPLAY_STATE_WARN(display,
> +					 pll->active_mask & ~pll->state.pipe_mask,
> +					 "%s: more active pll users than references: 0x%x vs 0x%x\n",
> +					 pll->info->name, pll->active_mask, pll->state.pipe_mask);
>  
>  		return;
>  	}
> @@ -4649,23 +4652,23 @@ verify_single_dpll_state(struct drm_i915_private *i915,
>  	pipe_mask = BIT(crtc->pipe);
>  
>  	if (new_crtc_state->hw.active)
> -		I915_STATE_WARN(i915, !(pll->active_mask & pipe_mask),
> -				"%s: pll active mismatch (expected pipe %c in active mask 0x%x)\n",
> -				pll->info->name, pipe_name(crtc->pipe), pll->active_mask);
> +		INTEL_DISPLAY_STATE_WARN(display, !(pll->active_mask & pipe_mask),
> +					 "%s: pll active mismatch (expected pipe %c in active mask 0x%x)\n",
> +					 pll->info->name, pipe_name(crtc->pipe), pll->active_mask);
>  	else
> -		I915_STATE_WARN(i915, pll->active_mask & pipe_mask,
> -				"%s: pll active mismatch (didn't expect pipe %c in active mask 0x%x)\n",
> -				pll->info->name, pipe_name(crtc->pipe), pll->active_mask);
> +		INTEL_DISPLAY_STATE_WARN(display, pll->active_mask & pipe_mask,
> +					 "%s: pll active mismatch (didn't expect pipe %c in active mask 0x%x)\n",
> +					 pll->info->name, pipe_name(crtc->pipe), pll->active_mask);
>  
> -	I915_STATE_WARN(i915, !(pll->state.pipe_mask & pipe_mask),
> -			"%s: pll enabled crtcs mismatch (expected 0x%x in 0x%x)\n",
> -			pll->info->name, pipe_mask, pll->state.pipe_mask);
> +	INTEL_DISPLAY_STATE_WARN(display, !(pll->state.pipe_mask & pipe_mask),
> +				 "%s: pll enabled crtcs mismatch (expected 0x%x in 0x%x)\n",
> +				 pll->info->name, pipe_mask, pll->state.pipe_mask);
>  
> -	I915_STATE_WARN(i915,
> -			pll->on && memcmp(&pll->state.hw_state, &dpll_hw_state,
> -					  sizeof(dpll_hw_state)),
> -			"%s: pll hw state mismatch\n",
> -			pll->info->name);
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 pll->on && memcmp(&pll->state.hw_state, &dpll_hw_state,
> +						   sizeof(dpll_hw_state)),
> +				 "%s: pll hw state mismatch\n",
> +				 pll->info->name);
>  }
>  
>  static bool has_alt_port_dpll(const struct intel_shared_dpll *old_pll,
> @@ -4678,6 +4681,7 @@ static bool has_alt_port_dpll(const struct intel_shared_dpll *old_pll,
>  void intel_shared_dpll_state_verify(struct intel_atomic_state *state,
>  				    struct intel_crtc *crtc)
>  {
> +	struct intel_display *display = to_intel_display(state);
>  	struct drm_i915_private *i915 = to_i915(state->base.dev);
>  	const struct intel_crtc_state *old_crtc_state =
>  		intel_atomic_get_old_crtc_state(state, crtc);
> @@ -4693,16 +4697,16 @@ void intel_shared_dpll_state_verify(struct intel_atomic_state *state,
>  		u8 pipe_mask = BIT(crtc->pipe);
>  		struct intel_shared_dpll *pll = old_crtc_state->shared_dpll;
>  
> -		I915_STATE_WARN(i915, pll->active_mask & pipe_mask,
> -				"%s: pll active mismatch (didn't expect pipe %c in active mask (0x%x))\n",
> -				pll->info->name, pipe_name(crtc->pipe), pll->active_mask);
> +		INTEL_DISPLAY_STATE_WARN(display, pll->active_mask & pipe_mask,
> +					 "%s: pll active mismatch (didn't expect pipe %c in active mask (0x%x))\n",
> +					 pll->info->name, pipe_name(crtc->pipe), pll->active_mask);
>  
>  		/* TC ports have both MG/TC and TBT PLL referenced simultaneously */
> -		I915_STATE_WARN(i915, !has_alt_port_dpll(old_crtc_state->shared_dpll,
> -							 new_crtc_state->shared_dpll) &&
> -				pll->state.pipe_mask & pipe_mask,
> -				"%s: pll enabled crtcs mismatch (found pipe %c in enabled mask (0x%x))\n",
> -				pll->info->name, pipe_name(crtc->pipe), pll->state.pipe_mask);
> +		INTEL_DISPLAY_STATE_WARN(display, !has_alt_port_dpll(old_crtc_state->shared_dpll,
> +								     new_crtc_state->shared_dpll) &&
> +					 pll->state.pipe_mask & pipe_mask,
> +					 "%s: pll enabled crtcs mismatch (found pipe %c in enabled mask (0x%x))\n",
> +					 pll->info->name, pipe_name(crtc->pipe), pll->state.pipe_mask);
>  	}
>  }
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_fdi.c b/drivers/gpu/drm/i915/display/intel_fdi.c
> index 0168894e9cd1..98e1a3606227 100644
> --- a/drivers/gpu/drm/i915/display/intel_fdi.c
> +++ b/drivers/gpu/drm/i915/display/intel_fdi.c
> @@ -26,9 +26,10 @@ struct intel_fdi_funcs {
>  static void assert_fdi_tx(struct drm_i915_private *dev_priv,
>  			  enum pipe pipe, bool state)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	bool cur_state;
>  
> -	if (HAS_DDI(dev_priv)) {
> +	if (HAS_DDI(display)) {
>  		/*
>  		 * DDI does not have a specific FDI_TX register.
>  		 *
> @@ -36,14 +37,14 @@ static void assert_fdi_tx(struct drm_i915_private *dev_priv,
>  		 * so pipe->transcoder cast is fine here.
>  		 */
>  		enum transcoder cpu_transcoder = (enum transcoder)pipe;
> -		cur_state = intel_de_read(dev_priv,
> -					  TRANS_DDI_FUNC_CTL(dev_priv, cpu_transcoder)) & TRANS_DDI_FUNC_ENABLE;
> +		cur_state = intel_de_read(display,
> +					  TRANS_DDI_FUNC_CTL(display, cpu_transcoder)) & TRANS_DDI_FUNC_ENABLE;
>  	} else {
> -		cur_state = intel_de_read(dev_priv, FDI_TX_CTL(pipe)) & FDI_TX_ENABLE;
> +		cur_state = intel_de_read(display, FDI_TX_CTL(pipe)) & FDI_TX_ENABLE;
>  	}
> -	I915_STATE_WARN(dev_priv, cur_state != state,
> -			"FDI TX state assertion failure (expected %s, current %s)\n",
> -			str_on_off(state), str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "FDI TX state assertion failure (expected %s, current %s)\n",
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_fdi_tx_enabled(struct drm_i915_private *i915, enum pipe pipe)
> @@ -59,12 +60,13 @@ void assert_fdi_tx_disabled(struct drm_i915_private *i915, enum pipe pipe)
>  static void assert_fdi_rx(struct drm_i915_private *dev_priv,
>  			  enum pipe pipe, bool state)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	bool cur_state;
>  
> -	cur_state = intel_de_read(dev_priv, FDI_RX_CTL(pipe)) & FDI_RX_ENABLE;
> -	I915_STATE_WARN(dev_priv, cur_state != state,
> -			"FDI RX state assertion failure (expected %s, current %s)\n",
> -			str_on_off(state), str_on_off(cur_state));
> +	cur_state = intel_de_read(display, FDI_RX_CTL(pipe)) & FDI_RX_ENABLE;
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "FDI RX state assertion failure (expected %s, current %s)\n",
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_fdi_rx_enabled(struct drm_i915_private *i915, enum pipe pipe)
> @@ -80,6 +82,7 @@ void assert_fdi_rx_disabled(struct drm_i915_private *i915, enum pipe pipe)
>  void assert_fdi_tx_pll_enabled(struct drm_i915_private *i915,
>  			       enum pipe pipe)
>  {
> +	struct intel_display *display = &i915->display;
>  	bool cur_state;
>  
>  	/* ILK FDI PLL is always enabled */
> @@ -87,23 +90,24 @@ void assert_fdi_tx_pll_enabled(struct drm_i915_private *i915,
>  		return;
>  
>  	/* On Haswell, DDI ports are responsible for the FDI PLL setup */
> -	if (HAS_DDI(i915))
> +	if (HAS_DDI(display))
>  		return;
>  
> -	cur_state = intel_de_read(i915, FDI_TX_CTL(pipe)) & FDI_TX_PLL_ENABLE;
> -	I915_STATE_WARN(i915, !cur_state,
> -			"FDI TX PLL assertion failure, should be active but is disabled\n");
> +	cur_state = intel_de_read(display, FDI_TX_CTL(pipe)) & FDI_TX_PLL_ENABLE;
> +	INTEL_DISPLAY_STATE_WARN(display, !cur_state,
> +				 "FDI TX PLL assertion failure, should be active but is disabled\n");
>  }
>  
>  static void assert_fdi_rx_pll(struct drm_i915_private *i915,
>  			      enum pipe pipe, bool state)
>  {
> +	struct intel_display *display = &i915->display;
>  	bool cur_state;
>  
> -	cur_state = intel_de_read(i915, FDI_RX_CTL(pipe)) & FDI_RX_PLL_ENABLE;
> -	I915_STATE_WARN(i915, cur_state != state,
> -			"FDI RX PLL assertion failure (expected %s, current %s)\n",
> -			str_on_off(state), str_on_off(cur_state));
> +	cur_state = intel_de_read(display, FDI_RX_CTL(pipe)) & FDI_RX_PLL_ENABLE;
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "FDI RX PLL assertion failure (expected %s, current %s)\n",
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_fdi_rx_pll_enabled(struct drm_i915_private *i915, enum pipe pipe)
> diff --git a/drivers/gpu/drm/i915/display/intel_modeset_verify.c b/drivers/gpu/drm/i915/display/intel_modeset_verify.c
> index 3491db5cad31..1e8a1cdc29bf 100644
> --- a/drivers/gpu/drm/i915/display/intel_modeset_verify.c
> +++ b/drivers/gpu/drm/i915/display/intel_modeset_verify.c
> @@ -26,6 +26,7 @@
>  static void intel_connector_verify_state(const struct intel_crtc_state *crtc_state,
>  					 const struct drm_connector_state *conn_state)
>  {
> +	struct intel_display *display = to_intel_display(crtc_state);
>  	struct intel_connector *connector = to_intel_connector(conn_state->connector);
>  	struct drm_i915_private *i915 = to_i915(connector->base.dev);
>  
> @@ -35,29 +36,29 @@ static void intel_connector_verify_state(const struct intel_crtc_state *crtc_sta
>  	if (connector->get_hw_state(connector)) {
>  		struct intel_encoder *encoder = intel_attached_encoder(connector);
>  
> -		I915_STATE_WARN(i915, !crtc_state,
> -				"connector enabled without attached crtc\n");
> +		INTEL_DISPLAY_STATE_WARN(display, !crtc_state,
> +					 "connector enabled without attached crtc\n");
>  
>  		if (!crtc_state)
>  			return;
>  
> -		I915_STATE_WARN(i915, !crtc_state->hw.active,
> -				"connector is active, but attached crtc isn't\n");
> +		INTEL_DISPLAY_STATE_WARN(display, !crtc_state->hw.active,
> +					 "connector is active, but attached crtc isn't\n");
>  
>  		if (!encoder || encoder->type == INTEL_OUTPUT_DP_MST)
>  			return;
>  
> -		I915_STATE_WARN(i915,
> -				conn_state->best_encoder != &encoder->base,
> -				"atomic encoder doesn't match attached encoder\n");
> +		INTEL_DISPLAY_STATE_WARN(display,
> +					 conn_state->best_encoder != &encoder->base,
> +					 "atomic encoder doesn't match attached encoder\n");
>  
> -		I915_STATE_WARN(i915, conn_state->crtc != encoder->base.crtc,
> -				"attached encoder crtc differs from connector crtc\n");
> +		INTEL_DISPLAY_STATE_WARN(display, conn_state->crtc != encoder->base.crtc,
> +					 "attached encoder crtc differs from connector crtc\n");
>  	} else {
> -		I915_STATE_WARN(i915, crtc_state && crtc_state->hw.active,
> -				"attached crtc is active, but connector isn't\n");
> -		I915_STATE_WARN(i915, !crtc_state && conn_state->best_encoder,
> -				"best encoder set without crtc!\n");
> +		INTEL_DISPLAY_STATE_WARN(display, crtc_state && crtc_state->hw.active,
> +					 "attached crtc is active, but connector isn't\n");
> +		INTEL_DISPLAY_STATE_WARN(display, !crtc_state && conn_state->best_encoder,
> +					 "best encoder set without crtc!\n");
>  	}
>  }
>  
> @@ -65,6 +66,7 @@ static void
>  verify_connector_state(struct intel_atomic_state *state,
>  		       struct intel_crtc *crtc)
>  {
> +	struct intel_display *display = to_intel_display(state);
>  	struct drm_connector *connector;
>  	const struct drm_connector_state *new_conn_state;
>  	int i;
> @@ -81,8 +83,8 @@ verify_connector_state(struct intel_atomic_state *state,
>  
>  		intel_connector_verify_state(crtc_state, new_conn_state);
>  
> -		I915_STATE_WARN(to_i915(connector->dev), new_conn_state->best_encoder != encoder,
> -				"connector's atomic encoder doesn't match legacy encoder\n");
> +		INTEL_DISPLAY_STATE_WARN(display, new_conn_state->best_encoder != encoder,
> +					 "connector's atomic encoder doesn't match legacy encoder\n");
>  	}
>  }
>  
> @@ -109,6 +111,7 @@ static void intel_pipe_config_sanity_check(const struct intel_crtc_state *crtc_s
>  static void
>  verify_encoder_state(struct intel_atomic_state *state)
>  {
> +	struct intel_display *display = to_intel_display(state);
>  	struct drm_i915_private *i915 = to_i915(state->base.dev);
>  	struct intel_encoder *encoder;
>  	struct drm_connector *connector;
> @@ -134,25 +137,25 @@ verify_encoder_state(struct intel_atomic_state *state)
>  			found = true;
>  			enabled = true;
>  
> -			I915_STATE_WARN(i915,
> -					new_conn_state->crtc != encoder->base.crtc,
> -					"connector's crtc doesn't match encoder crtc\n");
> +			INTEL_DISPLAY_STATE_WARN(display,
> +						 new_conn_state->crtc != encoder->base.crtc,
> +						 "connector's crtc doesn't match encoder crtc\n");
>  		}
>  
>  		if (!found)
>  			continue;
>  
> -		I915_STATE_WARN(i915, !!encoder->base.crtc != enabled,
> -				"encoder's enabled state mismatch (expected %i, found %i)\n",
> -				!!encoder->base.crtc, enabled);
> +		INTEL_DISPLAY_STATE_WARN(display, !!encoder->base.crtc != enabled,
> +					 "encoder's enabled state mismatch (expected %i, found %i)\n",
> +					 !!encoder->base.crtc, enabled);
>  
>  		if (!encoder->base.crtc) {
>  			bool active;
>  
>  			active = encoder->get_hw_state(encoder, &pipe);
> -			I915_STATE_WARN(i915, active,
> -					"encoder detached but still enabled on pipe %c.\n",
> -					pipe_name(pipe));
> +			INTEL_DISPLAY_STATE_WARN(display, active,
> +						 "encoder detached but still enabled on pipe %c.\n",
> +						 pipe_name(pipe));
>  		}
>  	}
>  }
> @@ -161,8 +164,8 @@ static void
>  verify_crtc_state(struct intel_atomic_state *state,
>  		  struct intel_crtc *crtc)
>  {
> -	struct drm_device *dev = crtc->base.dev;
> -	struct drm_i915_private *i915 = to_i915(dev);
> +	struct intel_display *display = to_intel_display(state);
> +	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct intel_crtc_state *sw_crtc_state =
>  		intel_atomic_get_new_crtc_state(state, crtc);
>  	struct intel_crtc_state *hw_crtc_state;
> @@ -173,7 +176,7 @@ verify_crtc_state(struct intel_atomic_state *state,
>  	if (!hw_crtc_state)
>  		return;
>  
> -	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s]\n", crtc->base.base.id,
> +	drm_dbg_kms(display->drm, "[CRTC:%d:%s]\n", crtc->base.base.id,
>  		    crtc->base.name);
>  
>  	hw_crtc_state->hw.enable = sw_crtc_state->hw.enable;
> @@ -184,30 +187,30 @@ verify_crtc_state(struct intel_atomic_state *state,
>  	if (IS_I830(i915) && hw_crtc_state->hw.active)
>  		hw_crtc_state->hw.active = sw_crtc_state->hw.active;
>  
> -	I915_STATE_WARN(i915,
> -			sw_crtc_state->hw.active != hw_crtc_state->hw.active,
> -			"crtc active state doesn't match with hw state (expected %i, found %i)\n",
> -			sw_crtc_state->hw.active, hw_crtc_state->hw.active);
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 sw_crtc_state->hw.active != hw_crtc_state->hw.active,
> +				 "crtc active state doesn't match with hw state (expected %i, found %i)\n",
> +				 sw_crtc_state->hw.active, hw_crtc_state->hw.active);
>  
> -	I915_STATE_WARN(i915, crtc->active != sw_crtc_state->hw.active,
> -			"transitional active state does not match atomic hw state (expected %i, found %i)\n",
> -			sw_crtc_state->hw.active, crtc->active);
> +	INTEL_DISPLAY_STATE_WARN(display, crtc->active != sw_crtc_state->hw.active,
> +				 "transitional active state does not match atomic hw state (expected %i, found %i)\n",
> +				 sw_crtc_state->hw.active, crtc->active);
>  
>  	primary_crtc = intel_primary_crtc(sw_crtc_state);
>  
> -	for_each_encoder_on_crtc(dev, &primary_crtc->base, encoder) {
> +	for_each_encoder_on_crtc(display->drm, &primary_crtc->base, encoder) {
>  		enum pipe pipe;
>  		bool active;
>  
>  		active = encoder->get_hw_state(encoder, &pipe);
> -		I915_STATE_WARN(i915, active != sw_crtc_state->hw.active,
> -				"[ENCODER:%i] active %i with crtc active %i\n",
> -				encoder->base.base.id, active,
> -				sw_crtc_state->hw.active);
> +		INTEL_DISPLAY_STATE_WARN(display, active != sw_crtc_state->hw.active,
> +					 "[ENCODER:%i] active %i with crtc active %i\n",
> +					 encoder->base.base.id, active,
> +					 sw_crtc_state->hw.active);
>  
> -		I915_STATE_WARN(i915, active && primary_crtc->pipe != pipe,
> -				"Encoder connected to wrong pipe %c\n",
> -				pipe_name(pipe));
> +		INTEL_DISPLAY_STATE_WARN(display, active && primary_crtc->pipe != pipe,
> +					 "Encoder connected to wrong pipe %c\n",
> +					 pipe_name(pipe));
>  
>  		if (active)
>  			intel_encoder_get_config(encoder, hw_crtc_state);
> @@ -220,7 +223,7 @@ verify_crtc_state(struct intel_atomic_state *state,
>  
>  	if (!intel_pipe_config_compare(sw_crtc_state,
>  				       hw_crtc_state, false)) {
> -		I915_STATE_WARN(i915, 1, "pipe state doesn't match!\n");
> +		INTEL_DISPLAY_STATE_WARN(display, 1, "pipe state doesn't match!\n");
>  		intel_crtc_state_dump(hw_crtc_state, NULL, "hw state");
>  		intel_crtc_state_dump(sw_crtc_state, NULL, "sw state");
>  	}
> diff --git a/drivers/gpu/drm/i915/display/intel_pch_display.c b/drivers/gpu/drm/i915/display/intel_pch_display.c
> index f13ab680c2cf..5fbcb74aeac1 100644
> --- a/drivers/gpu/drm/i915/display/intel_pch_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_pch_display.c
> @@ -39,58 +39,61 @@ static void assert_pch_dp_disabled(struct drm_i915_private *dev_priv,
>  				   enum pipe pipe, enum port port,
>  				   i915_reg_t dp_reg)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	enum pipe port_pipe;
>  	bool state;
>  
>  	state = g4x_dp_port_enabled(dev_priv, dp_reg, port, &port_pipe);
>  
> -	I915_STATE_WARN(dev_priv, state && port_pipe == pipe,
> -			"PCH DP %c enabled on transcoder %c, should be disabled\n",
> -			port_name(port), pipe_name(pipe));
> +	INTEL_DISPLAY_STATE_WARN(display, state && port_pipe == pipe,
> +				 "PCH DP %c enabled on transcoder %c, should be disabled\n",
> +				 port_name(port), pipe_name(pipe));
>  
> -	I915_STATE_WARN(dev_priv,
> -			HAS_PCH_IBX(dev_priv) && !state && port_pipe == PIPE_B,
> -			"IBX PCH DP %c still using transcoder B\n",
> -			port_name(port));
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 HAS_PCH_IBX(dev_priv) && !state && port_pipe == PIPE_B,
> +				 "IBX PCH DP %c still using transcoder B\n",
> +				 port_name(port));
>  }
>  
>  static void assert_pch_hdmi_disabled(struct drm_i915_private *dev_priv,
>  				     enum pipe pipe, enum port port,
>  				     i915_reg_t hdmi_reg)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	enum pipe port_pipe;
>  	bool state;
>  
>  	state = intel_sdvo_port_enabled(dev_priv, hdmi_reg, &port_pipe);
>  
> -	I915_STATE_WARN(dev_priv, state && port_pipe == pipe,
> -			"PCH HDMI %c enabled on transcoder %c, should be disabled\n",
> -			port_name(port), pipe_name(pipe));
> +	INTEL_DISPLAY_STATE_WARN(display, state && port_pipe == pipe,
> +				 "PCH HDMI %c enabled on transcoder %c, should be disabled\n",
> +				 port_name(port), pipe_name(pipe));
>  
> -	I915_STATE_WARN(dev_priv,
> -			HAS_PCH_IBX(dev_priv) && !state && port_pipe == PIPE_B,
> -			"IBX PCH HDMI %c still using transcoder B\n",
> -			port_name(port));
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 HAS_PCH_IBX(dev_priv) && !state && port_pipe == PIPE_B,
> +				 "IBX PCH HDMI %c still using transcoder B\n",
> +				 port_name(port));
>  }
>  
>  static void assert_pch_ports_disabled(struct drm_i915_private *dev_priv,
>  				      enum pipe pipe)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	enum pipe port_pipe;
>  
>  	assert_pch_dp_disabled(dev_priv, pipe, PORT_B, PCH_DP_B);
>  	assert_pch_dp_disabled(dev_priv, pipe, PORT_C, PCH_DP_C);
>  	assert_pch_dp_disabled(dev_priv, pipe, PORT_D, PCH_DP_D);
>  
> -	I915_STATE_WARN(dev_priv,
> -			intel_crt_port_enabled(dev_priv, PCH_ADPA, &port_pipe) && port_pipe == pipe,
> -			"PCH VGA enabled on transcoder %c, should be disabled\n",
> -			pipe_name(pipe));
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_crt_port_enabled(dev_priv, PCH_ADPA, &port_pipe) && port_pipe == pipe,
> +				 "PCH VGA enabled on transcoder %c, should be disabled\n",
> +				 pipe_name(pipe));
>  
> -	I915_STATE_WARN(dev_priv,
> -			intel_lvds_port_enabled(dev_priv, PCH_LVDS, &port_pipe) && port_pipe == pipe,
> -			"PCH LVDS enabled on transcoder %c, should be disabled\n",
> -			pipe_name(pipe));
> +	INTEL_DISPLAY_STATE_WARN(display,
> +				 intel_lvds_port_enabled(dev_priv, PCH_LVDS, &port_pipe) && port_pipe == pipe,
> +				 "PCH LVDS enabled on transcoder %c, should be disabled\n",
> +				 pipe_name(pipe));
>  
>  	/* PCH SDVOB multiplex with HDMIB */
>  	assert_pch_hdmi_disabled(dev_priv, pipe, PORT_B, PCH_HDMIB);
> @@ -101,14 +104,15 @@ static void assert_pch_ports_disabled(struct drm_i915_private *dev_priv,
>  static void assert_pch_transcoder_disabled(struct drm_i915_private *dev_priv,
>  					   enum pipe pipe)
>  {
> +	struct intel_display *display = &dev_priv->display;
>  	u32 val;
>  	bool enabled;
>  
> -	val = intel_de_read(dev_priv, PCH_TRANSCONF(pipe));
> +	val = intel_de_read(display, PCH_TRANSCONF(pipe));
>  	enabled = !!(val & TRANS_ENABLE);
> -	I915_STATE_WARN(dev_priv, enabled,
> -			"transcoder assertion failed, should be off on pipe %c but is still active\n",
> -			pipe_name(pipe));
> +	INTEL_DISPLAY_STATE_WARN(display, enabled,
> +				 "transcoder assertion failed, should be off on pipe %c but is still active\n",
> +				 pipe_name(pipe));
>  }
>  
>  static void ibx_sanitize_pch_hdmi_port(struct drm_i915_private *dev_priv,
> diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c
> index ffeee9daa568..f1e78fd19e12 100644
> --- a/drivers/gpu/drm/i915/display/intel_pps.c
> +++ b/drivers/gpu/drm/i915/display/intel_pps.c
> @@ -809,7 +809,6 @@ bool intel_pps_vdd_on_unlocked(struct intel_dp *intel_dp)
>  void intel_pps_vdd_on(struct intel_dp *intel_dp)
>  {
>  	struct intel_display *display = to_intel_display(intel_dp);
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	intel_wakeref_t wakeref;
>  	bool vdd;
>  
> @@ -819,10 +818,10 @@ void intel_pps_vdd_on(struct intel_dp *intel_dp)
>  	vdd = false;
>  	with_intel_pps_lock(intel_dp, wakeref)
>  		vdd = intel_pps_vdd_on_unlocked(intel_dp);
> -	I915_STATE_WARN(i915, !vdd, "[ENCODER:%d:%s] %s VDD already requested on\n",
> -			dp_to_dig_port(intel_dp)->base.base.base.id,
> -			dp_to_dig_port(intel_dp)->base.base.name,
> -			pps_name(intel_dp));
> +	INTEL_DISPLAY_STATE_WARN(display, !vdd, "[ENCODER:%d:%s] %s VDD already requested on\n",
> +				 dp_to_dig_port(intel_dp)->base.base.base.id,
> +				 dp_to_dig_port(intel_dp)->base.base.name,
> +				 pps_name(intel_dp));
>  }
>  
>  static void intel_pps_vdd_off_sync_unlocked(struct intel_dp *intel_dp)
> @@ -929,18 +928,17 @@ static void edp_panel_vdd_schedule_off(struct intel_dp *intel_dp)
>  void intel_pps_vdd_off_unlocked(struct intel_dp *intel_dp, bool sync)
>  {
>  	struct intel_display *display = to_intel_display(intel_dp);
> -	struct drm_i915_private *dev_priv = to_i915(display->drm);
>  
>  	lockdep_assert_held(&display->pps.mutex);
>  
>  	if (!intel_dp_is_edp(intel_dp))
>  		return;
>  
> -	I915_STATE_WARN(dev_priv, !intel_dp->pps.want_panel_vdd,
> -			"[ENCODER:%d:%s] %s VDD not forced on",
> -			dp_to_dig_port(intel_dp)->base.base.base.id,
> -			dp_to_dig_port(intel_dp)->base.base.name,
> -			pps_name(intel_dp));
> +	INTEL_DISPLAY_STATE_WARN(display, !intel_dp->pps.want_panel_vdd,
> +				 "[ENCODER:%d:%s] %s VDD not forced on",
> +				 dp_to_dig_port(intel_dp)->base.base.base.id,
> +				 dp_to_dig_port(intel_dp)->base.base.name,
> +				 pps_name(intel_dp));
>  
>  	intel_dp->pps.want_panel_vdd = false;
>  
> @@ -1878,7 +1876,7 @@ void assert_pps_unlocked(struct intel_display *display, enum pipe pipe)
>  	    ((val & PANEL_UNLOCK_MASK) == PANEL_UNLOCK_REGS))
>  		locked = false;
>  
> -	I915_STATE_WARN(dev_priv, panel_pipe == pipe && locked,
> -			"panel assertion failure, pipe %c regs locked\n",
> -			pipe_name(pipe));
> +	INTEL_DISPLAY_STATE_WARN(display, panel_pipe == pipe && locked,
> +				 "panel assertion failure, pipe %c regs locked\n",
> +				 pipe_name(pipe));
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_snps_phy.c b/drivers/gpu/drm/i915/display/intel_snps_phy.c
> index e6df1f92def5..4b3a32736fd6 100644
> --- a/drivers/gpu/drm/i915/display/intel_snps_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_snps_phy.c
> @@ -1997,6 +1997,7 @@ int intel_snps_phy_check_hdmi_link_rate(int clock)
>  void intel_mpllb_state_verify(struct intel_atomic_state *state,
>  			      struct intel_crtc *crtc)
>  {
> +	struct intel_display *display = to_intel_display(state);
>  	struct drm_i915_private *i915 = to_i915(state->base.dev);
>  	const struct intel_crtc_state *new_crtc_state =
>  		intel_atomic_get_new_crtc_state(state, crtc);
> @@ -2019,11 +2020,11 @@ void intel_mpllb_state_verify(struct intel_atomic_state *state,
>  	intel_mpllb_readout_hw_state(encoder, &mpllb_hw_state);
>  
>  #define MPLLB_CHECK(__name)						\
> -	I915_STATE_WARN(i915, mpllb_sw_state->__name != mpllb_hw_state.__name, \
> -			"[CRTC:%d:%s] mismatch in MPLLB: %s (expected 0x%08x, found 0x%08x)", \
> -			crtc->base.base.id, crtc->base.name,		\
> -			__stringify(__name),				\
> -			mpllb_sw_state->__name, mpllb_hw_state.__name)
> +	INTEL_DISPLAY_STATE_WARN(display, mpllb_sw_state->__name != mpllb_hw_state.__name, \
> +				 "[CRTC:%d:%s] mismatch in MPLLB: %s (expected 0x%08x, found 0x%08x)", \
> +				 crtc->base.base.id, crtc->base.name,	\
> +				 __stringify(__name),			\
> +				 mpllb_sw_state->__name, mpllb_hw_state.__name)
>  
>  	MPLLB_CHECK(mpllb_cp);
>  	MPLLB_CHECK(mpllb_div);
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> index 70c5a13a3c75..59a50647f2c3 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> @@ -592,15 +592,16 @@ void bxt_dsi_reset_clocks(struct intel_encoder *encoder, enum port port)
>  
>  static void assert_dsi_pll(struct drm_i915_private *i915, bool state)
>  {
> +	struct intel_display *display = &i915->display;
>  	bool cur_state;
>  
>  	vlv_cck_get(i915);
>  	cur_state = vlv_cck_read(i915, CCK_REG_DSI_PLL_CONTROL) & DSI_PLL_VCO_EN;
>  	vlv_cck_put(i915);
>  
> -	I915_STATE_WARN(i915, cur_state != state,
> -			"DSI PLL state assertion failure (expected %s, current %s)\n",
> -			str_on_off(state), str_on_off(cur_state));
> +	INTEL_DISPLAY_STATE_WARN(display, cur_state != state,
> +				 "DSI PLL state assertion failure (expected %s, current %s)\n",
> +				 str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_dsi_pll_enabled(struct drm_i915_private *i915)
> -- 
> 2.39.5

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list