All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
	<intel-gfx@lists.freedesktop.org>
Cc: <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v2 09/13] drm/i915: Extract commit_dsb_max_cmds()
Date: Wed, 16 Sep 2026 18:53:52 +0530	[thread overview]
Message-ID: <775f1018-7f32-4319-a30d-c72b0c4809c2@intel.com> (raw)
In-Reply-To: <20260909161730.12969-10-ville.syrjala@linux.intel.com>



On 9/9/2026 9:47 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> The code to determine the number of required DSB commands for
> the commit is now split into two parts in a messy way, and the
> comment explaining the numbers is completely ditached from the
> place that actually has those numbers. Consolidtate it all into
> a single function that makes sense.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_display.c | 31 +++++++++++++-------
>   1 file changed, 21 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 7741f1395375..d7bd1b862aa9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7402,29 +7402,40 @@ static void intel_atomic_dsb_prepare(struct intel_atomic_state *state,
>   	intel_color_prepare_commit(state, crtc);
>   }
>   
> +static unsigned int
> +commit_dsb_max_cmds(const struct intel_crtc_state *crtc_state)
> +{
> +	/* just enough to start the chained DSB */

nit: more accurate to call it color DSB, since this can be true for 
gosub too.

Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>

> +	if (!crtc_state->use_dsb && !crtc_state->use_flipq)
> +		return 16;
> +
> +	/*
> +	 * Rough estimate:
> +	 * ~64 registers per each plane * 8 planes = 512
> +	 * Double that for pipe stuff and other overhead.
> +	 * ~4913 registers for 3DLUT
> +	 * ~200 color registers * 3 HDR planes
> +	 */
> +	if (crtc_state->plane_color_changed)
> +		return 8192;
> +	else
> +		return 1024;
> +}
> +
>   static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
>   				    struct intel_crtc *crtc)
>   {
>   	struct intel_display *display = to_intel_display(state);
>   	struct intel_crtc_state *new_crtc_state =
>   		intel_atomic_get_new_crtc_state(state, crtc);
> -	unsigned int size = new_crtc_state->plane_color_changed ? 8192 : 1024;
>   
>   	if (!new_crtc_state->use_flipq &&
>   	    !new_crtc_state->use_dsb &&
>   	    !new_crtc_state->dsb_color)
>   		return;
>   
> -	/*
> -	 * Rough estimate:
> -	 * ~64 registers per each plane * 8 planes = 512
> -	 * Double that for pipe stuff and other overhead.
> -	 * ~4913 registers for 3DLUT
> -	 * ~200 color registers * 3 HDR planes
> -	 */
>   	new_crtc_state->dsb_commit = intel_dsb_prepare(state, crtc, INTEL_DSB_0,
> -						       new_crtc_state->use_dsb ||
> -						       new_crtc_state->use_flipq ? size : 16);
> +						       commit_dsb_max_cmds(new_crtc_state));
>   	if (!new_crtc_state->dsb_commit) {
>   		new_crtc_state->use_flipq = false;
>   		new_crtc_state->use_dsb = false;


  reply	other threads:[~2026-09-16 13:24 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09 16:17 [PATCH v2 00/13] drm/i915: Some DSB/flipq stuff Ville Syrjala
2026-09-09 16:17 ` [PATCH v2 01/13] drm/i915: Give up on DSB/flip queue if we fail to allocate the color DSB buffer Ville Syrjala
2026-09-16 13:22   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 02/13] drm/i915: Check use_flipq in intel_crtc_needs_vblank_work() Ville Syrjala
2026-09-16 13:22   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 03/13] drm/i915: Don't initialize flip queue on pre-LNL Ville Syrjala
2026-09-16 13:22   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 04/13] drm/i915: Warn about use_flip==true in MMIO commit codepaths Ville Syrjala
2026-09-16 13:22   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 05/13] drm/i915: Refine vblank evasion DSB check Ville Syrjala
2026-09-16 13:23   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 06/13] drm/i915: Make intel_crtc_needs_vblank_work() easier on the eye Ville Syrjala
2026-09-16 13:22   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 07/13] drm/i915: Extract intel_dsb_supported() Ville Syrjala
2026-09-16 13:23   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 08/13] drm/i915: Use intel_dsb_supported() to determine 'use_dsb' Ville Syrjala
2026-09-16 13:24   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 09/13] drm/i915: Extract commit_dsb_max_cmds() Ville Syrjala
2026-09-16 13:23   ` Borah, Chaitanya Kumar [this message]
2026-09-09 16:17 ` [PATCH v2 10/13] drm/i915: Introduce enum intel_commit_type Ville Syrjala
2026-09-16 13:24   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 11/13] drm/i915: Carve intel_atomic_commit_type() up a bit Ville Syrjala
2026-09-16 13:25   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 12/13] drm/i915/dsb: Add tracepoints for DSB commit Ville Syrjala
2026-09-09 16:34   ` sashiko-bot
2026-09-10 11:23     ` Ville Syrjälä
2026-09-16 13:25   ` Borah, Chaitanya Kumar
2026-09-09 16:17 ` [PATCH v2 13/13] drm/i915/dsb: Add tracepoints for flip queue Ville Syrjala
2026-09-16 13:25   ` Borah, Chaitanya Kumar
2026-09-09 16:25 ` ✗ CI.checkpatch: warning for drm/i915: Some DSB/flipq stuff (rev2) Patchwork
2026-09-09 16:27 ` ✓ CI.KUnit: success " Patchwork
2026-09-09 17:11 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-09 17:50 ` ✓ i915.CI.BAT: " Patchwork
2026-09-10  0:25 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-09-10 10:56 ` ✗ i915.CI.Full: " 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=775f1018-7f32-4319-a30d-c72b0c4809c2@intel.com \
    --to=chaitanya.kumar.borah@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /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.