[Intel-gfx] [PATCH v7 10/17] drm/i915: Support DP MST in enc_to_dig_port() function
Ramalingam C
ramalingam.c at intel.com
Thu Jul 9 10:16:26 UTC 2020
On 2020-06-23 at 11:59:00 -0400, Sean Paul wrote:
> From: Sean Paul <seanpaul at chromium.org>
>
> Although DP_MST fake encoders are not subclassed from digital ports,
> they are associated with them. Support these encoders.
>
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
Reviewed-by: Ramalingam C <ramalingam.c at intel.com>
> Link: https://patchwork.freedesktop.org/patch/msgid/20191203173638.94919-9-sean@poorly.run #v1
> Link: https://patchwork.freedesktop.org/patch/msgid/20191212190230.188505-10-sean@poorly.run #v2
> Link: https://patchwork.freedesktop.org/patch/msgid/20200117193103.156821-10-sean@poorly.run #v3
> Link: https://patchwork.freedesktop.org/patch/msgid/20200218220242.107265-10-sean@poorly.run #v4
> Link: https://patchwork.freedesktop.org/patch/msgid/20200305201236.152307-10-sean@poorly.run #v5
> Link: https://patchwork.freedesktop.org/patch/msgid/20200429195502.39919-10-sean@poorly.run #v6
>
> Changes in v2:
> -None
> Changes in v3:
> -None
> Changes in v4:
> -None
> Changes in v5:
> -None
> Changes in v6:
> -None
> Changes in v7:
> -None
> ---
> .../drm/i915/display/intel_display_types.h | 21 ++++++++++++-------
> 1 file changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 1503403a808b..811085ef3fba 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1525,6 +1525,18 @@ static inline bool intel_encoder_is_dig_port(struct intel_encoder *encoder)
> }
> }
>
> +static inline bool intel_encoder_is_mst(struct intel_encoder *encoder)
> +{
> + return encoder->type == INTEL_OUTPUT_DP_MST;
> +}
> +
> +static inline struct intel_dp_mst_encoder *
> +enc_to_mst(struct intel_encoder *encoder)
> +{
> + return container_of(&encoder->base, struct intel_dp_mst_encoder,
> + base.base);
> +}
> +
> static inline struct intel_digital_port *
> enc_to_dig_port(struct intel_encoder *encoder)
> {
> @@ -1533,6 +1545,8 @@ enc_to_dig_port(struct intel_encoder *encoder)
> if (intel_encoder_is_dig_port(intel_encoder))
> return container_of(&encoder->base, struct intel_digital_port,
> base.base);
> + else if (intel_encoder_is_mst(intel_encoder))
> + return enc_to_mst(encoder)->primary;
> else
> return NULL;
> }
> @@ -1543,13 +1557,6 @@ intel_attached_dig_port(struct intel_connector *connector)
> return enc_to_dig_port(intel_attached_encoder(connector));
> }
>
> -static inline struct intel_dp_mst_encoder *
> -enc_to_mst(struct intel_encoder *encoder)
> -{
> - return container_of(&encoder->base, struct intel_dp_mst_encoder,
> - base.base);
> -}
> -
> static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder)
> {
> return &enc_to_dig_port(encoder)->dp;
> --
> Sean Paul, Software Engineer, Google / Chromium OS
>
More information about the Intel-gfx
mailing list