Commit b4409db3 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Reuse pipe_config_mismatch() more

Just call pipe_config_mismatch() from all the more specialized
mismatch() functions instead of hand rolling the same printfs
all over.

v2: Eliminate the dpll drm_debug_enabled() in an earlier patch (Jani)
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240229184207.31233-1-ville.syrjala@linux.intel.com
parent e05f61a1
...@@ -4836,17 +4836,13 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc, ...@@ -4836,17 +4836,13 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL); p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
loglevel = KERN_DEBUG; loglevel = KERN_DEBUG;
drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
crtc->base.base.id, crtc->base.name, name);
} else { } else {
p = drm_err_printer(&i915->drm, NULL); p = drm_err_printer(&i915->drm, NULL);
loglevel = KERN_ERR; loglevel = KERN_ERR;
drm_printf(&p, "[CRTC:%d:%s] mismatch in %s infoframe\n",
crtc->base.base.id, crtc->base.name, name);
} }
pipe_config_mismatch(fastset, crtc, name, "infoframe");
drm_printf(&p, "expected:\n"); drm_printf(&p, "expected:\n");
hdmi_infoframe_log(loglevel, i915->drm.dev, a); hdmi_infoframe_log(loglevel, i915->drm.dev, a);
drm_printf(&p, "found:\n"); drm_printf(&p, "found:\n");
...@@ -4862,17 +4858,12 @@ pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc, ...@@ -4862,17 +4858,12 @@ pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
struct drm_i915_private *i915 = to_i915(crtc->base.dev); struct drm_i915_private *i915 = to_i915(crtc->base.dev);
struct drm_printer p; struct drm_printer p;
if (fastset) { if (fastset)
p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL); p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
else
drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s dp sdp\n",
crtc->base.base.id, crtc->base.name, name);
} else {
p = drm_err_printer(&i915->drm, NULL); p = drm_err_printer(&i915->drm, NULL);
drm_printf(&p, "[CRTC:%d:%s] mismatch in %s dp sdp\n", pipe_config_mismatch(fastset, crtc, name, "dp sdp");
crtc->base.base.id, crtc->base.name, name);
}
drm_printf(&p, "expected:\n"); drm_printf(&p, "expected:\n");
drm_dp_vsc_sdp_log(&p, a); drm_dp_vsc_sdp_log(&p, a);
...@@ -4899,27 +4890,19 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc, ...@@ -4899,27 +4890,19 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
const char *name, const char *name,
const u8 *a, const u8 *b, size_t len) const u8 *a, const u8 *b, size_t len)
{ {
struct drm_i915_private *i915 = to_i915(crtc->base.dev);
struct drm_printer p;
const char *loglevel; const char *loglevel;
if (fastset) { if (fastset) {
if (!drm_debug_enabled(DRM_UT_KMS)) if (!drm_debug_enabled(DRM_UT_KMS))
return; return;
p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
loglevel = KERN_DEBUG; loglevel = KERN_DEBUG;
drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
crtc->base.base.id, crtc->base.name, name);
} else { } else {
p = drm_err_printer(&i915->drm, NULL);
loglevel = KERN_ERR; loglevel = KERN_ERR;
drm_printf(&p, "[CRTC:%d:%s] mismatch in %s buffer\n",
crtc->base.base.id, crtc->base.name, name);
} }
pipe_config_mismatch(fastset, crtc, name, "buffer");
/* only dump up to the last difference */ /* only dump up to the last difference */
len = memcmp_diff_len(a, b, len); len = memcmp_diff_len(a, b, len);
...@@ -4939,17 +4922,12 @@ pipe_config_pll_mismatch(bool fastset, ...@@ -4939,17 +4922,12 @@ pipe_config_pll_mismatch(bool fastset,
struct drm_i915_private *i915 = to_i915(crtc->base.dev); struct drm_i915_private *i915 = to_i915(crtc->base.dev);
struct drm_printer p; struct drm_printer p;
if (fastset) { if (fastset)
p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL); p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
else
drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
crtc->base.base.id, crtc->base.name, name);
} else {
p = drm_err_printer(&i915->drm, NULL); p = drm_err_printer(&i915->drm, NULL);
drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n", pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
crtc->base.base.id, crtc->base.name, name);
}
drm_printf(&p, "expected:\n"); drm_printf(&p, "expected:\n");
intel_dpll_dump_hw_state(i915, &p, a); intel_dpll_dump_hw_state(i915, &p, a);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment