[PATCH v2] drm/i915/display: convert I915_STATE_WARN() to struct intel_display
Jani Nikula
jani.nikula at intel.com
Tue Oct 29 10:40:14 UTC 2024
On Thu, 24 Oct 2024, Jani Nikula <jani.nikula at intel.com> 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.
>
> v2: crtc_state may be NULL in intel_connector_verify_state()
>
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Thanks for the review, pushed to din.
BR,
Jani.
>
> ---
>
> 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..bc70e72ccc2e 100644
> --- a/drivers/gpu/drm/i915/display/intel_modeset_verify.c
> +++ b/drivers/gpu/drm/i915/display/intel_modeset_verify.c
> @@ -27,6 +27,7 @@ static void intel_connector_verify_state(const struct intel_crtc_state *crtc_sta
> const struct drm_connector_state *conn_state)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> + struct intel_display *display = to_intel_display(connector);
> struct drm_i915_private *i915 = to_i915(connector->base.dev);
>
> drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s]\n",
> @@ -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)
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list