Message ID | 20240904101834.2415385-2-jouni.hogander@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | DP2.1 Panel Replay Fixes | expand |
On Wed, Sep 04, 2024 at 01:18:32PM +0300, Jouni Högander wrote: > Connector->encoder might be null for MST connector. Take this into account > in intel_attached_dp. > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com> > --- > drivers/gpu/drm/i915/display/intel_display_types.h | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index 868ff8976ed93..6327caa1054f2 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -2046,7 +2046,10 @@ static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder) > > static inline struct intel_dp *intel_attached_dp(struct intel_connector *connector) > { > - return enc_to_intel_dp(intel_attached_encoder(connector)); > + if (connector->mst_port) > + return connector->mst_port; > + else > + return enc_to_intel_dp(intel_attached_encoder(connector)); Yes, connector->encoder is specific to the pipe used by the encoder and will be set only at the first modeset. Another way would be to set this to a default (for PIPE_A) encoder already in intel_dp_add_mst_connector(), but not sure if that's better than the above. After this change intel_attached_dp() could be used instead of intel_connector_to_intel_dp(), could you replace the use of those too? > } > > static inline bool intel_encoder_is_dp(struct intel_encoder *encoder) > -- > 2.34.1 >
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 868ff8976ed93..6327caa1054f2 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -2046,7 +2046,10 @@ static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder) static inline struct intel_dp *intel_attached_dp(struct intel_connector *connector) { - return enc_to_intel_dp(intel_attached_encoder(connector)); + if (connector->mst_port) + return connector->mst_port; + else + return enc_to_intel_dp(intel_attached_encoder(connector)); } static inline bool intel_encoder_is_dp(struct intel_encoder *encoder)
Connector->encoder might be null for MST connector. Take this into account in intel_attached_dp. Signed-off-by: Jouni Högander <jouni.hogander@intel.com> --- drivers/gpu/drm/i915/display/intel_display_types.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)