* [PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display
@ 2024-10-24 14:30 Jani Nikula
2024-10-24 15:05 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jani Nikula @ 2024-10-24 14:30 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Ville Syrjala
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@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@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
^ permalink raw reply related [flat|nested] 4+ messages in thread* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: convert I915_STATE_WARN() to struct intel_display 2024-10-24 14:30 [PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display Jani Nikula @ 2024-10-24 15:05 ` Patchwork 2024-10-24 15:19 ` ✗ Fi.CI.BAT: failure " Patchwork 2024-10-24 15:58 ` [PATCH] " Ville Syrjälä 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2024-10-24 15:05 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/display: convert I915_STATE_WARN() to struct intel_display URL : https://patchwork.freedesktop.org/series/140444/ State : warning == Summary == Error: dim checkpatch failed fad43d2bb5bb drm/i915/display: convert I915_STATE_WARN() to struct intel_display -:151: WARNING:LONG_LINE: line length of 109 exceeds 100 columns #151: FILE: drivers/gpu/drm/i915/display/intel_cx0_phy.c:3401: + INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->mpllb[i] != mpll_sw_state->mpllb[i], -:162: WARNING:LONG_LINE: line length of 109 exceeds 100 columns #162: FILE: drivers/gpu/drm/i915/display/intel_cx0_phy.c:3408: + INTEL_DISPLAY_STATE_WARN(display, mpll_hw_state->mplla[i] != mpll_sw_state->mplla[i], -:259: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__display' - possible side-effects? #259: FILE: drivers/gpu/drm/i915/display/intel_display.h:594: +#define INTEL_DISPLAY_STATE_WARN(__display, condition, format...) ({ \ int __ret_warn_on = !!(condition); \ if (unlikely(__ret_warn_on)) \ + if (!drm_WARN((__display)->drm, (__display)->params.verbose_state_checks, format)) \ + drm_err((__display)->drm, format); \ unlikely(__ret_warn_on); \ }) -:344: WARNING:LONG_LINE: line length of 154 exceeds 100 columns #344: FILE: drivers/gpu/drm/i915/display/intel_display_power.c:1212: + (intel_de_read(display, UTIL_PIN_CTL) & (UTIL_PIN_ENABLE | UTIL_PIN_MODE_MASK)) == (UTIL_PIN_ENABLE | UTIL_PIN_MODE_PWM), -:544: WARNING:LONG_LINE: line length of 103 exceeds 100 columns #544: FILE: drivers/gpu/drm/i915/display/intel_dpll_mgr.c:4709: + pll->info->name, pipe_name(crtc->pipe), pll->state.pipe_mask); -:571: WARNING:LONG_LINE: line length of 111 exceeds 100 columns #571: FILE: drivers/gpu/drm/i915/display/intel_fdi.c:41: + TRANS_DDI_FUNC_CTL(display, cpu_transcoder)) & TRANS_DDI_FUNC_ENABLE; -:909: WARNING:LONG_LINE: line length of 109 exceeds 100 columns #909: FILE: drivers/gpu/drm/i915/display/intel_pch_display.c:89: + intel_crt_port_enabled(dev_priv, PCH_ADPA, &port_pipe) && port_pipe == pipe, -:918: WARNING:LONG_LINE: line length of 110 exceeds 100 columns #918: FILE: drivers/gpu/drm/i915/display/intel_pch_display.c:94: + intel_lvds_port_enabled(dev_priv, PCH_LVDS, &port_pipe) && port_pipe == pipe, -:1028: WARNING:LONG_LINE: line length of 104 exceeds 100 columns #1028: FILE: drivers/gpu/drm/i915/display/intel_snps_phy.c:2024: + "[CRTC:%d:%s] mismatch in MPLLB: %s (expected 0x%08x, found 0x%08x)", \ total: 0 errors, 8 warnings, 1 checks, 947 lines checked ^ permalink raw reply [flat|nested] 4+ messages in thread
* ✗ Fi.CI.BAT: failure for drm/i915/display: convert I915_STATE_WARN() to struct intel_display 2024-10-24 14:30 [PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display Jani Nikula 2024-10-24 15:05 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork @ 2024-10-24 15:19 ` Patchwork 2024-10-24 15:58 ` [PATCH] " Ville Syrjälä 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2024-10-24 15:19 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 14698 bytes --] == Series Details == Series: drm/i915/display: convert I915_STATE_WARN() to struct intel_display URL : https://patchwork.freedesktop.org/series/140444/ State : failure == Summary == CI Bug Log - changes from CI_DRM_15588 -> Patchwork_140444v1 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_140444v1 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_140444v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/index.html Participating hosts (44 -> 43) ------------------------------ Additional (2): fi-skl-6600u fi-kbl-8809g Missing (3): bat-dg2-14 bat-dg2-9 fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_140444v1: ### IGT changes ### #### Possible regressions #### * igt@i915_hangman@error-state-basic: - fi-blb-e6850: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-blb-e6850/igt@i915_hangman@error-state-basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-blb-e6850/igt@i915_hangman@error-state-basic.html - fi-pnv-d510: [PASS][3] -> [INCOMPLETE][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-pnv-d510/igt@i915_hangman@error-state-basic.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-pnv-d510/igt@i915_hangman@error-state-basic.html * igt@i915_module_load@load: - bat-adlp-6: [PASS][5] -> [ABORT][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-adlp-6/igt@i915_module_load@load.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-adlp-6/igt@i915_module_load@load.html * igt@kms_busy@basic: - fi-ilk-650: [PASS][7] -> [ABORT][8] +1 other test abort [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-ilk-650/igt@kms_busy@basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-ilk-650/igt@kms_busy@basic.html - fi-skl-6600u: NOTRUN -> [ABORT][9] +1 other test abort [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-skl-6600u/igt@kms_busy@basic.html - bat-twl-2: [PASS][10] -> [ABORT][11] +1 other test abort [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-twl-2/igt@kms_busy@basic.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-twl-2/igt@kms_busy@basic.html - bat-dg2-11: [PASS][12] -> [ABORT][13] +1 other test abort [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-dg2-11/igt@kms_busy@basic.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-dg2-11/igt@kms_busy@basic.html - bat-jsl-3: [PASS][14] -> [ABORT][15] +1 other test abort [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-jsl-3/igt@kms_busy@basic.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-jsl-3/igt@kms_busy@basic.html * igt@kms_busy@basic@flip: - fi-cfl-8700k: [PASS][16] -> [ABORT][17] +1 other test abort [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-cfl-8700k/igt@kms_busy@basic@flip.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-cfl-8700k/igt@kms_busy@basic@flip.html - fi-elk-e7500: [PASS][18] -> [ABORT][19] +1 other test abort [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-elk-e7500/igt@kms_busy@basic@flip.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-elk-e7500/igt@kms_busy@basic@flip.html - fi-hsw-4770: [PASS][20] -> [ABORT][21] +1 other test abort [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-hsw-4770/igt@kms_busy@basic@flip.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-hsw-4770/igt@kms_busy@basic@flip.html - fi-ivb-3770: [PASS][22] -> [ABORT][23] +1 other test abort [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-ivb-3770/igt@kms_busy@basic@flip.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-ivb-3770/igt@kms_busy@basic@flip.html - bat-mtlp-8: [PASS][24] -> [ABORT][25] +1 other test abort [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-mtlp-8/igt@kms_busy@basic@flip.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-mtlp-8/igt@kms_busy@basic@flip.html - bat-dg2-8: [PASS][26] -> [ABORT][27] +1 other test abort [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-dg2-8/igt@kms_busy@basic@flip.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-dg2-8/igt@kms_busy@basic@flip.html - bat-jsl-1: [PASS][28] -> [ABORT][29] +1 other test abort [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-jsl-1/igt@kms_busy@basic@flip.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-jsl-1/igt@kms_busy@basic@flip.html - bat-arls-1: [PASS][30] -> [ABORT][31] +1 other test abort [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-arls-1/igt@kms_busy@basic@flip.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-arls-1/igt@kms_busy@basic@flip.html - fi-bsw-n3050: [PASS][32] -> [ABORT][33] +1 other test abort [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-bsw-n3050/igt@kms_busy@basic@flip.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-bsw-n3050/igt@kms_busy@basic@flip.html - fi-rkl-11600: [PASS][34] -> [ABORT][35] +1 other test abort [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-rkl-11600/igt@kms_busy@basic@flip.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-rkl-11600/igt@kms_busy@basic@flip.html - bat-arlh-3: [PASS][36] -> [ABORT][37] +1 other test abort [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-arlh-3/igt@kms_busy@basic@flip.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-arlh-3/igt@kms_busy@basic@flip.html - bat-dg1-7: [PASS][38] -> [ABORT][39] +1 other test abort [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-dg1-7/igt@kms_busy@basic@flip.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-dg1-7/igt@kms_busy@basic@flip.html - fi-glk-j4005: [PASS][40] -> [ABORT][41] +1 other test abort [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-glk-j4005/igt@kms_busy@basic@flip.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-glk-j4005/igt@kms_busy@basic@flip.html - bat-adlp-9: [PASS][42] -> [ABORT][43] +1 other test abort [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-adlp-9/igt@kms_busy@basic@flip.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-adlp-9/igt@kms_busy@basic@flip.html - bat-rpls-4: [PASS][44] -> [ABORT][45] +1 other test abort [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-rpls-4/igt@kms_busy@basic@flip.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-rpls-4/igt@kms_busy@basic@flip.html - fi-kbl-7567u: [PASS][46] -> [ABORT][47] +1 other test abort [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-kbl-7567u/igt@kms_busy@basic@flip.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-kbl-7567u/igt@kms_busy@basic@flip.html - bat-twl-1: [PASS][48] -> [ABORT][49] +1 other test abort [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-twl-1/igt@kms_busy@basic@flip.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-twl-1/igt@kms_busy@basic@flip.html - bat-apl-1: [PASS][50] -> [ABORT][51] +1 other test abort [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-apl-1/igt@kms_busy@basic@flip.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-apl-1/igt@kms_busy@basic@flip.html - bat-rplp-1: [PASS][52] -> [ABORT][53] +1 other test abort [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-rplp-1/igt@kms_busy@basic@flip.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-rplp-1/igt@kms_busy@basic@flip.html - fi-tgl-1115g4: [PASS][54] -> [ABORT][55] +1 other test abort [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-tgl-1115g4/igt@kms_busy@basic@flip.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-tgl-1115g4/igt@kms_busy@basic@flip.html - fi-cfl-guc: [PASS][56] -> [ABORT][57] +1 other test abort [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-cfl-guc/igt@kms_busy@basic@flip.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-cfl-guc/igt@kms_busy@basic@flip.html - fi-cfl-8109u: [PASS][58] -> [ABORT][59] +1 other test abort [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-cfl-8109u/igt@kms_busy@basic@flip.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-cfl-8109u/igt@kms_busy@basic@flip.html - bat-arls-2: [PASS][60] -> [ABORT][61] +1 other test abort [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-arls-2/igt@kms_busy@basic@flip.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-arls-2/igt@kms_busy@basic@flip.html * igt@kms_force_connector_basic@force-connector-state: - bat-adlm-1: [PASS][62] -> [ABORT][63] [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-adlm-1/igt@kms_force_connector_basic@force-connector-state.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-adlm-1/igt@kms_force_connector_basic@force-connector-state.html - fi-kbl-x1275: [PASS][64] -> [ABORT][65] [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-kbl-x1275/igt@kms_force_connector_basic@force-connector-state.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-kbl-x1275/igt@kms_force_connector_basic@force-connector-state.html - fi-kbl-8809g: NOTRUN -> [ABORT][66] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-kbl-8809g/igt@kms_force_connector_basic@force-connector-state.html - bat-dg1-6: [PASS][67] -> [ABORT][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-dg1-6/igt@kms_force_connector_basic@force-connector-state.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-dg1-6/igt@kms_force_connector_basic@force-connector-state.html - bat-mtlp-6: [PASS][69] -> [ABORT][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-mtlp-6/igt@kms_force_connector_basic@force-connector-state.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-mtlp-6/igt@kms_force_connector_basic@force-connector-state.html - fi-bsw-nick: [PASS][71] -> [ABORT][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-bsw-nick/igt@kms_force_connector_basic@force-connector-state.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-bsw-nick/igt@kms_force_connector_basic@force-connector-state.html - bat-kbl-2: [PASS][73] -> [ABORT][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-kbl-2/igt@kms_force_connector_basic@force-connector-state.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-kbl-2/igt@kms_force_connector_basic@force-connector-state.html - fi-kbl-guc: [PASS][75] -> [ABORT][76] [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/fi-kbl-guc/igt@kms_force_connector_basic@force-connector-state.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-kbl-guc/igt@kms_force_connector_basic@force-connector-state.html Known issues ------------ Here are the changes found in Patchwork_140444v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@debugfs_test@basic-hwmon: - fi-skl-6600u: NOTRUN -> [SKIP][77] [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-skl-6600u/igt@debugfs_test@basic-hwmon.html * igt@gem_huc_copy@huc-copy: - fi-kbl-8809g: NOTRUN -> [SKIP][78] ([i915#2190]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html - fi-skl-6600u: NOTRUN -> [SKIP][79] ([i915#2190]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html * igt@kms_dsc@dsc-basic: - fi-kbl-8809g: NOTRUN -> [SKIP][80] +14 other tests skip [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/fi-kbl-8809g/igt@kms_dsc@dsc-basic.html #### Possible fixes #### * igt@i915_selftest@live: - bat-atsm-1: [INCOMPLETE][81] ([i915#12133]) -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-atsm-1/igt@i915_selftest@live.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-atsm-1/igt@i915_selftest@live.html * igt@i915_selftest@live@hangcheck: - bat-atsm-1: [INCOMPLETE][83] -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15588/bat-atsm-1/igt@i915_selftest@live@hangcheck.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/bat-atsm-1/igt@i915_selftest@live@hangcheck.html [i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133 [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190 Build changes ------------- * Linux: CI_DRM_15588 -> Patchwork_140444v1 CI-20190529: 20190529 CI_DRM_15588: 121cd95da591284c97d6f9ac1c58c7a79d27b201 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8082: c8379ec8b26f3c21bae5473706b23da78bd26ffa @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_140444v1: 121cd95da591284c97d6f9ac1c58c7a79d27b201 @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140444v1/index.html [-- Attachment #2: Type: text/html, Size: 15804 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display 2024-10-24 14:30 [PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display Jani Nikula 2024-10-24 15:05 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2024-10-24 15:19 ` ✗ Fi.CI.BAT: failure " Patchwork @ 2024-10-24 15:58 ` Ville Syrjälä 2 siblings, 0 replies; 4+ messages in thread From: Ville Syrjälä @ 2024-10-24 15:58 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx 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@linux.intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@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 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-10-24 15:59 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-24 14:30 [PATCH] drm/i915/display: convert I915_STATE_WARN() to struct intel_display Jani Nikula 2024-10-24 15:05 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2024-10-24 15:19 ` ✗ Fi.CI.BAT: failure " Patchwork 2024-10-24 15:58 ` [PATCH] " Ville Syrjälä
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox