On Tue, 16 May 2023, "Kandpal, Suraj" <suraj.kandpal@xxxxxxxxx> wrote: >> >> The "fastset mismatch" debug logging has been slightly confusing, leading >> people to believe some error happened. Change it to the more informative >> "fastset requirement not met", and add a final message about this leading to >> full modeset. >> > > LGTM. > > Reviewed-by: Suraj Kandpal <suraj.kandpal@xxxxxxxxx> Thanks, pushed to din. BR, Jani. > >> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> >> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> >> --- >> drivers/gpu/drm/i915/display/intel_display.c | 15 ++++++++++----- >> 1 file changed, 10 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_display.c >> b/drivers/gpu/drm/i915/display/intel_display.c >> index 4b70b389e0cb..8afbaf8d1196 100644 >> --- a/drivers/gpu/drm/i915/display/intel_display.c >> +++ b/drivers/gpu/drm/i915/display/intel_display.c >> @@ -4857,7 +4857,7 @@ pipe_config_infoframe_mismatch(struct >> drm_i915_private *dev_priv, >> return; >> >> drm_dbg_kms(&dev_priv->drm, >> - "fastset mismatch in %s infoframe\n", name); >> + "fastset requirement not met in %s infoframe\n", >> name); >> drm_dbg_kms(&dev_priv->drm, "expected:\n"); >> hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, a); >> drm_dbg_kms(&dev_priv->drm, "found:\n"); @@ -4882,7 >> +4882,7 @@ pipe_config_dp_vsc_sdp_mismatch(struct drm_i915_private >> *dev_priv, >> return; >> >> drm_dbg_kms(&dev_priv->drm, >> - "fastset mismatch in %s dp sdp\n", name); >> + "fastset requirement not met in %s dp sdp\n", >> name); >> drm_dbg_kms(&dev_priv->drm, "expected:\n"); >> drm_dp_vsc_sdp_log(KERN_DEBUG, dev_priv->drm.dev, a); >> drm_dbg_kms(&dev_priv->drm, "found:\n"); @@ -4923,7 >> +4923,7 @@ pipe_config_buffer_mismatch(struct drm_i915_private >> *dev_priv, >> len = memcmp_diff_len(a, b, len); >> >> drm_dbg_kms(&dev_priv->drm, >> - "fastset mismatch in %s buffer\n", name); >> + "fastset requirement not met in %s buffer\n", >> name); >> print_hex_dump(KERN_DEBUG, "expected: ", >> DUMP_PREFIX_NONE, >> 16, 0, a, len, false); >> print_hex_dump(KERN_DEBUG, "found: ", >> DUMP_PREFIX_NONE, @@ -4954,7 +4954,7 @@ pipe_config_mismatch(bool >> fastset, const struct intel_crtc *crtc, >> >> if (fastset) >> drm_dbg_kms(&i915->drm, >> - "[CRTC:%d:%s] fastset mismatch in %s %pV\n", >> + "[CRTC:%d:%s] fastset requirement not met in %s >> %pV\n", >> crtc->base.base.id, crtc->base.name, name, &vaf); >> else >> drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s >> %pV\n", @@ -5542,8 +5542,13 @@ static int intel_modeset_checks(struct >> intel_atomic_state *state) static void intel_crtc_check_fastset(const struct >> intel_crtc_state *old_crtc_state, >> struct intel_crtc_state *new_crtc_state) { >> - if (!intel_pipe_config_compare(old_crtc_state, new_crtc_state, true)) >> + struct drm_i915_private *i915 = >> +to_i915(old_crtc_state->uapi.crtc->dev); >> + >> + if (!intel_pipe_config_compare(old_crtc_state, new_crtc_state, true)) >> { >> + drm_dbg_kms(&i915->drm, "fastset requirement not met, >> forcing full >> +modeset\n"); >> + >> return; >> + } >> >> new_crtc_state->uapi.mode_changed = false; >> if (!intel_crtc_needs_modeset(new_crtc_state)) >> -- >> 2.39.2 > -- Jani Nikula, Intel Open Source Graphics Center