public inbox for intel-gfx@lists.freedesktop.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,
	arun.r.murthy@intel.com
Subject: Re: [PATCH 5/5] drm/i915/dp: Enable Common SDP Transmission line
Date: Fri, 6 Mar 2026 13:56:30 +0200	[thread overview]
Message-ID: <aarA7lXSU00IUgjv@intel.com> (raw)
In-Reply-To: <20260305040118.2576312-6-ankit.k.nautiyal@intel.com>

On Thu, Mar 05, 2026 at 09:31:18AM +0530, Ankit Nautiyal wrote:
> Enable the Common SDP Transmission line for the SDP packets.
> We get the clear picture about the SDPs and guardband only in
> intel_dp_sdp_compute_config_late() therefore we must configure the
> crtc_state members related to Common SDP Transmission line at this
> point.
> 
> Currently, the stagger values are set as per the default policy of the
> Hardware. This can be optimized later if we come up with a specific
> driver policy to sequence the SDPs better.
> 
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c |  3 ++
>  drivers/gpu/drm/i915/display/intel_dp.c  | 64 ++++++++++++++++++++++++
>  2 files changed, 67 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index bdbd89600bee..e1e95f18f0ed 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -2726,6 +2726,8 @@ static void mtl_ddi_pre_enable_dp(struct intel_atomic_state *state,
>  	/* 6.o Configure and enable FEC if needed */
>  	intel_ddi_enable_fec(encoder, crtc_state);
>  
> +	intel_dp_cmn_sdp_transmission_line_enable(crtc_state);
> +
>  	/* 7.a 128b/132b SST. */
>  	if (!is_mst && intel_dp_is_uhbr(crtc_state)) {
>  		/* VCPID 1, start slot 0 for 128b/132b, tu slots */
> @@ -3113,6 +3115,7 @@ static void intel_ddi_buf_disable(struct intel_encoder *encoder,
>  			     DP_TP_CTL_ENABLE, 0);
>  	}
>  
> +	intel_dp_cmn_sdp_transmission_line_disable(crtc_state);
>  	intel_ddi_disable_fec(encoder, crtc_state);
>  
>  	if (DISPLAY_VER(display) < 14)
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 59a8fa5e5ba9..87d73d0239bc 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -7189,6 +7189,68 @@ void intel_dp_mst_resume(struct intel_display *display)
>  	}
>  }
>  
> +static
> +void intel_dp_cmn_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state)
> +{
> +	struct intel_display *display = to_intel_display(crtc_state);
> +	bool as_sdp, gmp_sdp, pps_sdp, vsc_sdp, vsc_ext_sdp;
> +
> +	if (!HAS_CMN_SDP_TL(display))
> +		return;
> +
> +	as_sdp = crtc_state->infoframes.enable &
> +		 intel_hdmi_infoframe_enable(DP_SDP_ADAPTIVE_SYNC);
> +
> +	gmp_sdp = crtc_state->infoframes.enable &
> +		  intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GAMUT_METADATA);
> +
> +	pps_sdp = crtc_state->infoframes.enable &
> +		  intel_hdmi_infoframe_enable(DP_SDP_PPS);
> +
> +	vsc_sdp = crtc_state->infoframes.enable &
> +		  intel_hdmi_infoframe_enable(DP_SDP_VSC);
> +
> +	vsc_ext_sdp = crtc_state->infoframes.enable &
> +		      (intel_hdmi_infoframe_enable(DP_SDP_VSC_EXT_VESA) |
> +		       intel_hdmi_infoframe_enable(DP_SDP_VSC_EXT_CEA));
> +
> +	if (!gmp_sdp && !pps_sdp && !vsc_sdp && !vsc_ext_sdp)
> +		return;

I don't see why we wouldn't just always program this stuff.

> +
> +	crtc_state->cmn_sdp_tl.enable = true;
> +
> +	/*
> +	 * When AS SDP is enabled :
> +	 *  - The common SDP Transmission Line matches the EMP SDP Transmission Line.
> +	 *
> +	 * When AS SDP is disabled:
> +	 *  - Bspec mentions the positions as lines of delayed vblank.
> +	 *  - Guardband = 1st line of delayed vblank
> +	 *  - Common SDP Transmission line is set to 2nd line of delayed vblank.
> +	 */
> +
> +	if (as_sdp)
> +		crtc_state->cmn_sdp_tl.transmission_line =
> +			intel_dp_emp_as_sdp_tl(crtc_state);
> +	else
> +		crtc_state->cmn_sdp_tl.transmission_line =
> +			crtc_state->vrr.guardband - 1;
> +
> +	/*
> +	 * Currently we are programming the default stagger values, but these
> +	 * can be optimized if required, based on number of SDPs enabled.
> +	 *
> +	 * Default values of the Transmission lines for SDPs other than AS SDP:
> +	 * VSC : CMN SDP Transmission line
> +	 * GMP : CMN SDP Transmission line
> +	 * PPS : CMN SDP Transmission line + 1
> +	 * VSC_EXT: CMN SDP Transmission line + 2
> +	 */
> +	crtc_state->cmn_sdp_tl.gmp_stagger = GMP_STAGGER_DEFAULT;
> +	crtc_state->cmn_sdp_tl.pps_stagger = PPS_STAGGER_DEFAULT;
> +	crtc_state->cmn_sdp_tl.vsc_ext_stagger = VSC_EXT_STAGGER_DEFAULT;
> +}
> +
>  static
>  int intel_dp_sdp_compute_config_late(struct intel_crtc_state *crtc_state)
>  {
> @@ -7202,6 +7264,8 @@ int intel_dp_sdp_compute_config_late(struct intel_crtc_state *crtc_state)
>  		return -EINVAL;
>  	}
>  
> +	intel_dp_cmn_sdp_tl_compute_config_late(crtc_state);
> +
>  	return 0;
>  }
>  
> -- 
> 2.45.2

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2026-03-06 11:56 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-05  4:01 [PATCH 0/5] Add support for Common SDP Transmission Line Ankit Nautiyal
2026-03-05  4:01 ` [PATCH 1/5] drm/i915/nvl: Add register definitions for common " Ankit Nautiyal
2026-03-05  4:01 ` [PATCH 2/5] drm/i915/dp: Add fields to store CMN_SDP_TL register state in crtc_state Ankit Nautiyal
2026-03-06 11:55   ` Ville Syrjälä
2026-03-10  4:54     ` Nautiyal, Ankit K
2026-03-05  4:01 ` [PATCH 3/5] drm/i915/dp: Add helper for AS SDP TL and fix documentation Ankit Nautiyal
2026-03-06 12:02   ` Ville Syrjälä
2026-03-10  4:57     ` Nautiyal, Ankit K
2026-03-10  9:08     ` Ville Syrjälä
2026-03-11 11:54       ` Nautiyal, Ankit K
2026-03-11 12:04         ` Ville Syrjälä
2026-03-11 12:10           ` Nautiyal, Ankit K
2026-03-05  4:01 ` [PATCH 4/5] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line Ankit Nautiyal
2026-03-05  4:01 ` [PATCH 5/5] drm/i915/dp: Enable Common " Ankit Nautiyal
2026-03-06 11:56   ` Ville Syrjälä [this message]
2026-03-10  5:01     ` Nautiyal, Ankit K
2026-03-05  5:40 ` ✓ i915.CI.BAT: success for Add support for Common SDP Transmission Line Patchwork
2026-03-06  4:34 ` ✗ 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=aarA7lXSU00IUgjv@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=arun.r.murthy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox