From: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>
To: <sashiko-reviews@lists.linux.dev>
Cc: <intel-gfx@lists.freedesktop.org>, <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v7 06/14] drm/i915/dip: Store and use AS SDP transmission line from crtc state
Date: Wed, 16 Sep 2026 09:48:19 +0530 [thread overview]
Message-ID: <74ef18fd-a83b-483f-a64c-131d5d3a49af@intel.com> (raw)
In-Reply-To: <20260915172218.D0EBF1F000FF@smtp.kernel.org>
On 9/15/2026 10:52 PM, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] drm/i915/dip: Spurious state mismatch for EMP_AS_SDP_TL on HDMI fastsets
> --
>
> commit 33aef03ce9383e1676d66a385c5b27a724956776
> Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Subject: drm/i915/dip: Store and use AS SDP transmission line from crtc state
>
> The driver computes and stores the Adaptive Sync SDP transmission line in the
> crtc state and uses it when programming the EMP_AS_SDP_TL register. This
> prepares the ground for supporting programmable transmission lines for
> additional DP SDPs.
>
>> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
>> index 9b3b526e5e55b..dacb4b7588a02 100644
>> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
>> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> [ ... ]
>> @@ -4235,6 +4236,7 @@ static void intel_ddi_get_config(struct intel_encoder *encoder,
>> intel_read_dp_sdp(encoder, pipe_config, HDMI_PACKET_TYPE_GAMUT_METADATA);
>> intel_read_dp_sdp(encoder, pipe_config, DP_SDP_VSC);
>> intel_read_dp_sdp(encoder, pipe_config, DP_SDP_ADAPTIVE_SYNC);
>> + intel_dip_sdp_transmission_line_get_config(pipe_config);
> [Severity: Medium]
> Will this trigger a spurious state mismatch for EMP_AS_SDP_TL on HDMI fastsets?
>
> If a non-DP (e.g., HDMI) connection inherits a non-zero EMP_AS_SDP_TL value
> from a BIOS handover or a previous DP VRR mode, the hardware state
> (hw_crtc_state) will reflect this non-zero value.
>
> This happens because intel_dip_sdp_transmission_line_get_config()
> unconditionally reads the register here via intel_dip_read_emp_as_sdp_tl()
> without verifying if the encoder is DP:
>
> drivers/gpu/drm/i915/display/intel_dip.c:intel_dip_read_emp_as_sdp_tl() {
> ...
> val = intel_de_read(display, EMP_AS_SDP_TL(display, cpu_transcoder));
> return REG_FIELD_GET(EMP_AS_SDP_DB_TL_MASK, val);
> }
>
> Meanwhile, the software state (sw_crtc_state) expects 0 for HDMI since
> intel_dip_sdp_tl_compute_config_late() is only called for DP.
>
> Because the dip.emp_as_sdp_tl comparison is guarded by if (!fastset) in
> intel_pipe_config_compare(), the discrepancy is ignored during the fastset
> compatibility check, allowing a fastset to proceed.
>
> The fastset skips reprogramming the VRR transcoder timings, leaving the
> hardware register at its stale non-zero value.
intel_vrr_set_transcoder_timings() is set from both modeset and fastset
path and is written for all platforms that support VRR && have
EMP_AS_SDP_TL.
intel_vrr_possible() is basically checking flipline that is always set
for the platforms that have VRR and EMP_AS_SDP_TL, so there is no early
return from intel_vrr_set_transcoder_timings() either.
Regards,
Ankit
>
> During post-commit hardware verification in verify_crtc_state(),
> intel_pipe_config_compare() is called with fastset = false, which strictly
> checks the field. This causes a drm_WARN backtrace when comparing the expected
> 0 against the stale non-zero hardware value.
>
next prev parent reply other threads:[~2026-09-16 4:18 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 16:46 [PATCH v7 00/14] Add support for Common SDP Transmission Line Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 01/14] drm/i915/dip: Add new file to handle Data Island Packet hardware Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 02/14] drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 03/14] drm/i915/intel_dip: Add check for DP encoder Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 04/14] drm/i915/dip: Add helper to get AS SDP Transmission Line Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 05/14] drm/i915/display: Add crtc state for DIP transmission lines Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 06/14] drm/i915/dip: Store and use AS SDP transmission line from crtc state Ankit Nautiyal
2026-09-15 17:22 ` sashiko-bot
2026-09-16 4:18 ` Nautiyal, Ankit K [this message]
2026-09-15 16:46 ` [PATCH v7 07/14] drm/i915/dip_regs: Add register definitions for common SDP Transmission Line Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 08/14] drm/i915/dip: Add HAS_COMMON_SDP_TL macro Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 09/14] drm/i915/dip: Store SDP transmission lines in crtc_state Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 10/14] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 11/14] drm/i915/dip: Enable Common " Ankit Nautiyal
2026-09-15 17:28 ` sashiko-bot
2026-09-16 4:19 ` Nautiyal, Ankit K
2026-09-15 16:46 ` [PATCH v7 12/14] drm/i915/dp: Account VSC SDP in min guardband Ankit Nautiyal
2026-09-16 2:41 ` Kandpal, Suraj
2026-09-15 16:46 ` [PATCH v7 13/14] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL Ankit Nautiyal
2026-09-15 16:46 ` [PATCH v7 14/14] drm/i915/display: Dump DIP Transmission lines Ankit Nautiyal
2026-09-15 17:31 ` ✗ CI.checkpatch: warning for Add support for Common SDP Transmission Line (rev7) Patchwork
2026-09-15 17:33 ` ✓ CI.KUnit: success " Patchwork
2026-09-15 18:14 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-15 20:23 ` ✓ i915.CI.BAT: " Patchwork
2026-09-15 23:50 ` ✓ Xe.CI.FULL: " Patchwork
2026-09-16 7:09 ` ✓ i915.CI.Full: " Patchwork
2026-09-18 3:54 ` [PATCH v7 00/14] Add support for Common SDP Transmission Line Nautiyal, Ankit K
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=74ef18fd-a83b-483f-a64c-131d5d3a49af@intel.com \
--to=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 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.