> -----Original Message----- > From: Intel-gfx <intel-gfx-boun...@lists.freedesktop.org> On Behalf Of Ankit > Nautiyal > Sent: 18 August 2025 13:01 > To: intel-gfx@lists.freedesktop.org; intel...@lists.freedesktop.org > Cc: ville.syrj...@linux.intel.com; Nautiyal, Ankit K > <ankit.k.nauti...@intel.com> > Subject: [PATCH 05/12] drm/i915/dp: Add SDP latency computation helper > > Add a helper to compute vblank time needed for transmitting specific > DisplayPort SDPs like PPS, GAMUT_METADATA, and VSC_EXT. Latency is based > on line count per packet type and current line time. > > Used to ensure adequate vblank when features like DSC/HDR are enabled. > > Bspec: 70151 > Signed-off-by: Ankit Nautiyal <ankit.k.nauti...@intel.com> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 47 +++++++++++++++++++++++++ > drivers/gpu/drm/i915/display/intel_dp.h | 1 + > 2 files changed, 48 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index 625036c47bdf..0c2bec1fbe42 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -6826,3 +6826,50 @@ void intel_dp_mst_resume(struct intel_display > *display) > } > } > } > + > +static > +int intel_dp_get_sdp_latency(u32 type, int linetime_us) { > + int lines; > + > + switch (type) { > + case DP_SDP_VSC_EXT_VESA: > + case DP_SDP_VSC_EXT_CEA: > + lines = 10; > + break; > + case HDMI_PACKET_TYPE_GAMUT_METADATA: > + lines = 8; > + break; > + case DP_SDP_PPS: > + lines = 6; > + break; > + default: > + lines = 0; > + break; > + } > + > + return lines * linetime_us; > +} > + > +int intel_dp_compute_sdp_latency(struct intel_crtc_state *crtc_state, > + bool assume_all_enabled) > +{ > + const struct drm_display_mode *adjusted_mode = &crtc_state- > >hw.adjusted_mode; > + int sdp_latency = 0; > + int linetime_us; > + > + linetime_us = DIV_ROUND_UP(adjusted_mode->crtc_htotal * 1000, > + adjusted_mode->crtc_clock); > + if (assume_all_enabled || > + crtc_state->infoframes.enable & > + > intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GAMUT_METADATA)) > + sdp_latency = max(sdp_latency, > + > intel_dp_get_sdp_latency(HDMI_PACKET_TYPE_GAMUT_METADATA, > + linetime_us)); > + > + if (assume_all_enabled || crtc_state->dsc.compression_enable) > + sdp_latency = max(sdp_latency, > + intel_dp_get_sdp_latency(DP_SDP_PPS, > linetime_us)); > + > + return sdp_latency; > +} > diff --git a/drivers/gpu/drm/i915/display/intel_dp.h > b/drivers/gpu/drm/i915/display/intel_dp.h > index 0657f5681196..994994d68475 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.h > +++ b/drivers/gpu/drm/i915/display/intel_dp.h > @@ -214,5 +214,6 @@ int intel_dp_compute_min_hblank(struct > intel_crtc_state *crtc_state, > > int intel_dp_dsc_bpp_step_x16(const struct intel_connector *connector); void > intel_dp_dpcd_set_probe(struct intel_dp *intel_dp, bool force_on_external); > +int intel_dp_compute_sdp_latency(struct intel_crtc_state *crtc_state, > +bool assume_all_enabled); Reviewed-by: Mitul Golani <mitulkumar.ajitkumar.gol...@intel.com> > > #endif /* __INTEL_DP_H__ */ > -- > 2.45.2
RE: [PATCH 05/12] drm/i915/dp: Add SDP latency computation helper
Golani, Mitulkumar Ajitkumar Mon, 18 Aug 2025 09:15:33 -0700
- [PATCH 11/12] drm/i915/panel: Add helper to g... Ankit Nautiyal
- Re: [PATCH 11/12] drm/i915/panel: Add he... Jani Nikula
- Re: [PATCH 11/12] drm/i915/panel: Ad... Nautiyal, Ankit K
- [PATCH 12/12] drm/i915/vrr: Fix seamless_mn d... Ankit Nautiyal
- ✓ i915.CI.BAT: success for Optimize vrr.guard... Patchwork
- [PATCH 00/12] Optimize vrr.guardband and fix ... Ankit Nautiyal
- [PATCH 01/12] drm/i915/skl_watermark: Fi... Ankit Nautiyal
- [PATCH 02/12] drm/i915/skl_watermark: Pa... Ankit Nautiyal
- [PATCH 03/12] drm/i915/skl_scaler: Intro... Ankit Nautiyal
- [PATCH 05/12] drm/i915/dp: Add SDP laten... Ankit Nautiyal
- RE: [PATCH 05/12] drm/i915/dp: Add S... Golani, Mitulkumar Ajitkumar
- [PATCH 04/12] drm/i915/display: Extract ... Ankit Nautiyal
- RE: [PATCH 04/12] drm/i915/display: ... Golani, Mitulkumar Ajitkumar
- [PATCH 06/12] drm/i915/alpm: Add functio... Ankit Nautiyal
- RE: [PATCH 06/12] drm/i915/alpm: Add... Golani, Mitulkumar Ajitkumar
- [PATCH 07/12] drm/i915/vrr: Use vrr.sync... Ankit Nautiyal
- [PATCH 08/12] drm/i915/display: Add guar... Ankit Nautiyal
- RE: [PATCH 08/12] drm/i915/display: ... Golani, Mitulkumar Ajitkumar
- [PATCH 09/12] drm/i915/skl_watermark: Re... Ankit Nautiyal
- [PATCH 10/12] drm/i915/vrr: Use static g... Ankit Nautiyal
- RE: [PATCH 10/12] drm/i915/vrr: Use ... Golani, Mitulkumar Ajitkumar