From: sashiko-bot@kernel.org
To: "Ankit Nautiyal" <ankit.k.nautiyal@intel.com>
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v6 11/13] drm/i915/dip: Enable Common SDP Transmission line
Date: Sun, 13 Sep 2026 15:33:33 +0000 [thread overview]
Message-ID: <20260913153333.A055C1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260913145649.3240904-12-ankit.k.nautiyal@intel.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Common SDP transmission line is incorrectly programmed for MST streams due to missing computation and mismatched transcoder programming scopes.
- [Medium] Integer underflow when computing cmn_sdp_tl for display modes where VRR is disabled or unsupported, leading to spurious warnings and aborted hardware programming.
--
commit 0717b28db12af360a6f11ccd09e4a25272022976
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drm/i915/dip: Enable Common SDP Transmission line
This commit computes and programs the common base transmission line and
per-SDP stagger values during modesets. It also disables the feature upon
pipe disable.
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index dacb4b7588a02..3cdb06e81130b 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
[ ... ]
> @@ -2737,6 +2737,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_dip_cmn_sdp_transmission_line_enable(crtc_state);
> +
> /* 7.a 128b/132b SST. */
[Severity: Medium]
Does hooking this transcoder-specific transmission line programming here
correctly handle MST streams?
Since mtl_ddi_pre_enable_dp() operates at the link level, it appears this
might only be called once for the first active MST stream. This could leave
subsequent transcoders in the MST topology uninitialized, causing their SDP
packets to use incorrect default transmission lines.
Additionally, should the transmission line computation be added to
mst_stream_compute_config_late() in intel_dp_mst.c? It looks like it is
currently omitted during the MST encoder's late compute configuration.
[ ... ]
> @@ -3124,6 +3126,7 @@ static void intel_ddi_buf_disable(struct intel_encoder *encoder,
> DP_TP_CTL_ENABLE, 0);
> }
>
> + intel_dip_cmn_sdp_transmission_line_disable(crtc_state);
> intel_ddi_disable_fec(encoder, crtc_state);
[Severity: Medium]
Similar to the pre-enable hook, does placing the disable sequence in this
link-level function cause it to only apply to the transcoder of the last
active MST stream?
> diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
> index f8e8577b27558..f447150ff7bc0 100644
> --- a/drivers/gpu/drm/i915/display/intel_dip.c
> +++ b/drivers/gpu/drm/i915/display/intel_dip.c
[ ... ]
> @@ -54,14 +55,109 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
[ ... ]
> +static
> +void intel_dip_cmn_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state)
> +{
[ ... ]
> + if (as_sdp)
> + crtc_state->dip.cmn_sdp_tl = crtc_state->dip.emp_as_sdp_tl;
> + else
> + crtc_state->dip.cmn_sdp_tl = crtc_state->vrr.guardband - 1;
[Severity: Medium]
Can this subtraction underflow if the display mode does not support VRR?
If an interlaced mode is set, for example, intel_vrr_compute_config() can
bail out early and leave vrr.guardband at 0. This would cause the
computation to evaluate to a large unsigned value (or a negative value that
is later evaluated as unsigned).
If this underflow happens, it appears it would cascade into the following
bounds check:
> + if (drm_WARN_ON(display->drm,
> + crtc_state->dip.cmn_sdp_tl >=
> + crtc_state->vrr.guardband + crtc_state->set_context_latency))
> + return;
This could trigger a spurious kernel warning and unexpectedly abort the
rest of the hardware programming sequence for the transmission line.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260913145649.3240904-1-ankit.k.nautiyal@intel.com?part=11
next prev parent reply other threads:[~2026-09-13 15:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 01/13] drm/i915/dip: Add new file to handle Data Island Packet hardware Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 02/13] drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 03/13] drm/i915/intel_dip: Add check for DP encoder Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 04/13] drm/i915/dip: Add helper to get AS SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 05/13] drm/i915/display: Add crtc state for DIP transmission lines Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state Ankit Nautiyal
2026-09-13 15:30 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 07/13] drm/i915/dip_regs: Add register definitions for common SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 08/13] drm/i915/dip: Add HAS_COMMON_SDP_TL macro Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 09/13] drm/i915/dip: Store SDP transmission lines in crtc_state Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 10/13] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 11/13] drm/i915/dip: Enable Common " Ankit Nautiyal
2026-09-13 15:33 ` sashiko-bot [this message]
2026-09-13 14:56 ` [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL Ankit Nautiyal
2026-09-13 15:25 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 13/13] drm/i915/display: Dump DIP Transmission lines Ankit Nautiyal
2026-09-13 16:12 ` ✗ i915.CI.BAT: failure for Add support for Common SDP Transmission Line (rev6) 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=20260913153333.A055C1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=ankit.k.nautiyal@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox