Re: [PATCH 01/15] drm/i915: handle DP_MST correctly in bxt_get_dpll

Daniel Vetter
2016-08-18T13:17:40Z

On Tue, Aug 09, 2016 at 05:04:00PM +0200, Maarten Lankhorst wrote:
> No idea if it supports it, but this is the minimum required from get_dpll.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_dpll_mgr.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> index 5c1f2d235ffa..655a5b382cf9 100644
> --- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> @@ -1535,7 +1535,8 @@ bxt_get_dpll(struct intel_crtc *crtc, struct intel_crtc_state *crtc_state,
>
> vco = best_clock.vco;
> } else if (encoder->type == INTEL_OUTPUT_DP ||
> - encoder->type == INTEL_OUTPUT_EDP) {
> + encoder->type == INTEL_OUTPUT_EDP ||
> + encoder->type == INTEL_OUTPUT_DP_MST) {

drm_encoder_type_is_DP? Maybe as a follow-up patch, this is

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> int i;
>
> clk_div = bxt_dp_clk_val[0];
> @@ -1611,7 +1612,12 @@ bxt_get_dpll(struct intel_crtc *crtc, struct intel_crtc_state *crtc_state,
> crtc_state->dpll_hw_state.pcsdw12 =
> LANESTAGGER_STRAP_OVRD | lanestagger;
>
> - intel_dig_port = enc_to_dig_port(&encoder->base);
> + if (encoder->type == INTEL_OUTPUT_DP_MST) {
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> +
> + intel_dig_port = intel_mst->primary;
> + } else
> + intel_dig_port = enc_to_dig_port(&encoder->base);

I think we need a "give me the real encoder not the fake one" helper for
dp connectors. I thought I've seen one of those fly by.
-Daniel

>
> /* 1:1 mapping between ports and PLLs */
> i = (enum intel_dpll_id) intel_dig_port->port;
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation