> Subject: [PATCH v4 05/12] drm/i915/display: Add crtc state for DIP > transmission > lines > > The Adaptive Sync SDP is currently the only packet with a programmable > transmission line. > > Make a structure struct intel_dip for Data Island Packets. Add a member to > track Adaptive-Sync SDP transmission line. Include the new member in the pipe > configuration comparison. > > This will pave the way for supporting more packets' programmable transmission > lines, including the common base SDP transmission line introduced with > Xe3p_lpd. > > Signed-off-by: Ankit Nautiyal <[email protected]>
LGTM, Reviewed-by: Suraj Kandpal <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_dip.h | 8 ++++++++ > drivers/gpu/drm/i915/display/intel_display.c | 2 ++ > drivers/gpu/drm/i915/display/intel_display_types.h | 3 +++ > 3 files changed, 13 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_dip.h > b/drivers/gpu/drm/i915/display/intel_dip.h > index 25bae4a04d6b..37507ac3e645 100644 > --- a/drivers/gpu/drm/i915/display/intel_dip.h > +++ b/drivers/gpu/drm/i915/display/intel_dip.h > @@ -35,4 +35,12 @@ struct intel_crtc_state; > u16 intel_dip_read_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state); > void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state); > > +struct intel_dip { > + /* > + * DIP Transmission line, relative to the Vtotal. > + * The programmed transmit line is (Vtotal - value) > + */ > + u16 emp_as_sdp_tl; > +}; > + > #endif /* __INTEL_DIP_H__ */ > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index bdf02b67c1d8..c84ee0e865ee 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -5507,6 +5507,8 @@ 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); > + > #undef PIPE_CONF_CHECK_X > #undef PIPE_CONF_CHECK_I > #undef PIPE_CONF_CHECK_LLI > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h > b/drivers/gpu/drm/i915/display/intel_display_types.h > index aa4772a1c208..6cc3a4c2f17c 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -46,6 +46,7 @@ > > #include "i915_gtt_view_types.h" > #include "intel_bios.h" > +#include "intel_dip.h" > #include "intel_display.h" > #include "intel_display_conversion.h" > #include "intel_display_limits.h" > @@ -1301,6 +1302,8 @@ struct intel_crtc_state { > struct drm_dp_as_sdp as_sdp; > } infoframes; > > + struct intel_dip dip; > + > u8 eld[MAX_ELD_BYTES]; > > /* HDMI scrambling status */ > -- > 2.45.2
