All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Mika Kahola" <mika.kahola@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v2 1/2] drm/i915/display: Reject flipq for pipe or timing changes
Date: Wed, 02 Sep 2026 11:07:33 +0000	[thread overview]
Message-ID: <20260902110733.C03171F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260902105448.809455-2-mika.kahola@intel.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Dead code in intel_flipq_commit_is_eligible() due to redundant pipe/timing update checks.
--

commit 6779c5cb91fea91170f2e668dc4b0daaf17635f8
Author: Mika Kahola <mika.kahola@intel.com>

drm/i915/display: Reject flipq for pipe or timing changes

This commit introduces intel_flipq_commit_is_eligible() to check if a
commit can use flipq. It explicitly rejects pipe, M/N, and LRR updates in
addition to the existing exclusions.

> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index fc30a455bed36..a2f5c3005dec1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c

[ ... ]

> +static bool intel_flipq_commit_is_eligible(struct intel_atomic_state *state,
> +					   struct intel_crtc *crtc)
> +{
> +	struct intel_display *display = to_intel_display(state);
> +	const struct intel_crtc_state *new_crtc_state =
> +		intel_atomic_get_new_crtc_state(state, crtc);
> +
> +	if (!intel_flipq_supported(display))
> +		return false;
> +
> +	if (intel_crtc_needs_modeset(new_crtc_state) ||
> +	    intel_crtc_needs_fastset(new_crtc_state) ||
> +	    intel_crtc_needs_color_update(new_crtc_state))
> +		return false;

[ ... ]

> +	/*
> +	 * Flipq is only suitable for simple queued plane updates that do
> +	 * not require additional pipe or timing programming.
> +	 */
> +	if (new_crtc_state->update_pipe ||
> +	    new_crtc_state->update_m_n ||
> +	    new_crtc_state->update_lrr)
> +		return false;

[Severity: Low]
Are these final checks reachable?

Since intel_crtc_needs_fastset() directly evaluates to
new_crtc_state->update_pipe, any commit where update_pipe is true will return
early from the first set of checks in this function.

Additionally, any commit requiring M/N or LRR changes is initially evaluated
as a full modeset. If the commit is later downgraded from a full modeset to a
fastset, new_crtc_state->update_pipe is unconditionally set to true.

Therefore, if update_m_n or update_lrr is true, the commit is guaranteed to
either be a full modeset (intel_crtc_needs_modeset() == true) or a fastset
(intel_crtc_needs_fastset() == true). This appears to make this final block of
code structurally unreachable.

Can these redundant checks be removed, or is there a specific case where they
can still be evaluated?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260902105448.809455-1-mika.kahola@intel.com?part=1

  reply	other threads:[~2026-09-02 11:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-02 10:54 [PATCH v2 0/2] drm/i915/display: fix flipq pipe CRC mismatch in kms_cursor_crc Mika Kahola
2026-09-02 10:54 ` [PATCH v2 1/2] drm/i915/display: Reject flipq for pipe or timing changes Mika Kahola
2026-09-02 11:07   ` sashiko-bot [this message]
2026-09-02 11:55   ` [PATCH v2 1/2] drm/i915/display: Reject flipq for commits with no plane updates Mika Kahola
2026-09-02 11:59   ` [PATCH v2 1/2] drm/i915/display: Reject flipq for pipe or timing changes Jani Nikula
2026-09-02 12:24     ` Kahola, Mika
2026-09-02 12:27   ` Ville Syrjälä
2026-09-02 13:52     ` Kahola, Mika
2026-09-02 10:54 ` [PATCH v2 2/2] drm/i915/display: Reset use_flipq when duplicating crtc state Mika Kahola
2026-09-02 13:33   ` Ville Syrjälä
2026-09-02 14:08     ` Kahola, Mika
2026-09-02 11:26 ` ✓ CI.KUnit: success for drm/i915/display: fix flipq pipe CRC mismatch in kms_cursor_crc (rev2) Patchwork
2026-09-02 11:53 ` ✓ i915.CI.BAT: " Patchwork
2026-09-02 12:13 ` ✓ CI.KUnit: success for drm/i915/display: fix flipq pipe CRC mismatch in kms_cursor_crc (rev3) Patchwork
2026-09-02 12:19 ` ✗ Xe.CI.BAT: failure for drm/i915/display: fix flipq pipe CRC mismatch in kms_cursor_crc (rev2) Patchwork
2026-09-02 12:59 ` ✓ Xe.CI.BAT: success for drm/i915/display: fix flipq pipe CRC mismatch in kms_cursor_crc (rev3) Patchwork
2026-09-02 13:01 ` ✓ i915.CI.BAT: " Patchwork
2026-09-02 22:42 ` ✓ Xe.CI.FULL: " Patchwork
2026-09-03  3:37 ` ✗ i915.CI.Full: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260902110733.C03171F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=mika.kahola@intel.com \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.