All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 3/5] drm/i915/dp: Check if guardband can accommodate sdp latencies
Date: Fri, 17 Oct 2025 15:02:57 +0300	[thread overview]
Message-ID: <aPIwcasPJ9PCU4yq@intel.com> (raw)
In-Reply-To: <20251017050202.2211985-4-ankit.k.nautiyal@intel.com>

On Fri, Oct 17, 2025 at 10:32:00AM +0530, Ankit Nautiyal wrote:
> Check if guardband is sufficient for all DP SDP latencies.
> If its not, fail .compute_config_late().
> 
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 3f2c319e3d6f..8ae99cee79d4 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -93,6 +93,7 @@
>  #include "intel_psr.h"
>  #include "intel_quirks.h"
>  #include "intel_tc.h"
> +#include "intel_vblank.h"
>  #include "intel_vdsc.h"
>  #include "intel_vrr.h"
>  
> @@ -6980,14 +6981,35 @@ void intel_dp_mst_resume(struct intel_display *display)
>  	}
>  }
>  
> +static
> +int intel_dp_sdp_compute_config_late(struct intel_crtc_state *crtc_state)
> +{
> +	struct intel_display *display = to_intel_display(crtc_state);
> +	int guardband = intel_crtc_vblank_length(crtc_state);

In theory we might have enough legacy TG vblank but not VRR guardband
(I suppose that can only happen on ICL/TGL due to the pipeline full
limit) so I was pondering whether we might need to check both. But I
think this is fine. We would just fail when trying to enable VRR in
those cases, but without VRR enabled we can still light up th display.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> +	int min_sdp_guardband = intel_dp_sdp_min_guardband(crtc_state, false);
> +
> +	if (guardband < min_sdp_guardband) {
> +		drm_dbg_kms(display->drm, "guardband %d < min sdp guardband %d\n",
> +			    guardband, min_sdp_guardband);
> +		return -EINVAL;
> +	}
> +
> +	return 0;
> +}
> +
>  int intel_dp_compute_config_late(struct intel_encoder *encoder,
>  				 struct intel_crtc_state *crtc_state,
>  				 struct drm_connector_state *conn_state)
>  {
>  	struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +	int ret;
>  
>  	intel_psr_compute_config_late(intel_dp, crtc_state);
>  
> +	ret = intel_dp_sdp_compute_config_late(crtc_state);
> +	if (ret)
> +		return ret;
> +
>  	return 0;
>  }
>  
> -- 
> 2.45.2

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2025-10-17 12:03 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-17  5:01 [PATCH 0/5] Optimize vrr.guardband Ankit Nautiyal
2025-10-17  5:01 ` [PATCH 1/5] drm/i915/psr: Add helper to get min psr guardband Ankit Nautiyal
2025-10-17  9:07   ` Hogander, Jouni
2025-10-17  9:30     ` Hogander, Jouni
2025-10-17  9:41       ` Nautiyal, Ankit K
2025-10-17  9:37     ` Nautiyal, Ankit K
2025-10-17  9:58       ` Hogander, Jouni
2025-10-17 10:15         ` Hogander, Jouni
2025-10-17 10:30           ` Hogander, Jouni
2025-10-17 11:11           ` Nautiyal, Ankit K
2025-10-17 11:30             ` Hogander, Jouni
2025-10-17  5:01 ` [PATCH 2/5] drm/i915/dp: Add helper to get min sdp guardband Ankit Nautiyal
2025-10-17 10:50   ` Hogander, Jouni
2025-10-17 11:07     ` Nautiyal, Ankit K
2025-10-17  5:02 ` [PATCH 3/5] drm/i915/dp: Check if guardband can accommodate sdp latencies Ankit Nautiyal
2025-10-17 12:02   ` Ville Syrjälä [this message]
2025-10-17  5:02 ` [PATCH 4/5] drm/i915/vrr: Use the min static optimized guardband Ankit Nautiyal
2025-10-17 12:06   ` Ville Syrjälä
2025-10-17  5:02 ` [PATCH 5/5] drm/i915/vrr: Use optimized guardband whenever VRR TG is active Ankit Nautiyal
2025-10-17 12:13   ` Ville Syrjälä
2025-10-17  5:23 ` ✓ CI.KUnit: success for Optimize vrr.guardband (rev3) Patchwork
2025-10-17  5:38 ` ✗ CI.checksparse: warning " Patchwork
2025-10-17  6:10 ` ✓ i915.CI.BAT: success " Patchwork
2025-10-17  6:14 ` ✓ Xe.CI.BAT: " Patchwork
2025-10-18  4:53 ` ✗ Xe.CI.Full: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2025-10-17 12:34 [PATCH 0/5] Optimize vrr.guardband Ankit Nautiyal
2025-10-17 12:35 ` [PATCH 3/5] drm/i915/dp: Check if guardband can accommodate sdp latencies Ankit Nautiyal

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=aPIwcasPJ9PCU4yq@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    /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.