On 9/1/2026 9:00 AM, Kandpal, Suraj wrote:
Subject: [PATCH v4 09/12] drm/i915/dp: Store SDP transmission lines in
crtc_state
This needs to be either drm/i915/dip or drm/i915/display

Currently the driver only programs the transmission line for the Adaptive-Sync
SDP, while the hardware controls the transmission lines for other SDPs.

Starting with Xe3p_lpd, the hardware allows the driver to program transmission
lines for additional DP SDPs. Prepare for this by adding fields to struct
intel_crtc_state to store SDP transmission lines, and include them in pipe 
config
comparison.

Signed-off-by: Ankit Nautiyal <[email protected]>
---
  drivers/gpu/drm/i915/display/intel_dip.h     | 6 ++++++
  drivers/gpu/drm/i915/display/intel_display.c | 5 +++++
  2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dip.h
b/drivers/gpu/drm/i915/display/intel_dip.h
index e9959356226e..03ef749a79ca 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.h
+++ b/drivers/gpu/drm/i915/display/intel_dip.h
@@ -51,6 +51,12 @@ struct intel_dip {
         * The programmed transmit line is (Vtotal - value)
         */
        u16 emp_as_sdp_tl;
+       u16 gmp_sdp_tl;
+       u16 pps_sdp_tl;
+       u16 vsc_sdp_tl;
+       u16 vsc_ext_sdp_tl;
+       /* Common SDP Base transmission line (Xe3p_lpd+) */
+       u16 cmn_sdp_tl;
  };

  void intel_dip_sdp_tl_compute_config_late(struct intel_crtc_state 
*crtc_state);
diff --git a/drivers/gpu/drm/i915/display/intel_display.c
b/drivers/gpu/drm/i915/display/intel_display.c
index c84ee0e865ee..8807897538a4 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5508,6 +5508,11 @@ intel_pipe_config_compare(const struct
intel_crtc_state *current_config,
        PIPE_CONF_CHECK_I(set_context_latency);

        PIPE_CONF_CHECK_I(dip.emp_as_sdp_tl);
+       PIPE_CONF_CHECK_I(dip.gmp_sdp_tl);
+       PIPE_CONF_CHECK_I(dip.pps_sdp_tl);
+       PIPE_CONF_CHECK_I(dip.vsc_sdp_tl);
+       PIPE_CONF_CHECK_I(dip.vsc_ext_sdp_tl);
+       PIPE_CONF_CHECK_I(dip.cmn_sdp_tl);
If you doing a compare in this patch itself should maybe assigning all these 
variables some values in comute config too in this patch too.


If we assign the values in compute config without readout, it will result is mismatches.

So I have introduced the new members and added them to PIPE_CONF_CHECK without compute config part or readout part here. Both of these are added together in Patch#11.

Regards,

Ankit


Regards,
Suraj Kandpal

  #undef PIPE_CONF_CHECK_X
  #undef PIPE_CONF_CHECK_I
--
2.45.2

Reply via email to