From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933069AbcBBPQJ (ORCPT ); Tue, 2 Feb 2016 10:16:09 -0500 Received: from mga09.intel.com ([134.134.136.24]:2197 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932900AbcBBPQH (ORCPT ); Tue, 2 Feb 2016 10:16:07 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,385,1449561600"; d="scan'208";a="906838910" From: Jani Nikula To: Lyude , Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, David Airlie Cc: Rob Clark , Adam Jackson , Lyude Subject: Re: [PATCH 1/2] drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select() In-Reply-To: <1454423709-21882-1-git-send-email-cpaul@redhat.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1454423709-21882-1-git-send-email-cpaul@redhat.com> User-Agent: Notmuch/0.21+34~g7dd0d52 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Tue, 02 Feb 2016 17:15:35 +0200 Message-ID: <87lh732lew.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 02 Feb 2016, Lyude wrote: > We don't actually check for INTEL_OUTPUT_DP_MST at all in here, as a > result we skip assigning a DPLL to any DP MST ports, which makes link > training fail, after which things just keep going downhill from there. Apparently broken since commit 82d35437018950c25200051733fb2fbf63cca86c Author: Satheeshakrishna M Date: Thu Nov 13 14:55:20 2014 +0000 drm/i915/skl: Implementation of SKL DPLL programming > Consequently, this fixes DisplayPort MST causing kernel panics, machine > check errors, etc. on Skylake. Please copy-paste some traces for the commit message so it'll be easier to match bug reports and fixes later on. BR, Jani. > > Signed-off-by: Lyude > --- > drivers/gpu/drm/i915/intel_ddi.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index e6408e5..54a165b 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -1589,7 +1589,8 @@ skl_ddi_pll_select(struct intel_crtc *intel_crtc, > DPLL_CFGCR2_KDIV(wrpll_params.kdiv) | > DPLL_CFGCR2_PDIV(wrpll_params.pdiv) | > wrpll_params.central_freq; > - } else if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT) { > + } else if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT || > + intel_encoder->type == INTEL_OUTPUT_DP_MST) { > switch (crtc_state->port_clock / 2) { > case 81000: > ctrl1 |= DPLL_CTRL1_LINK_RATE(DPLL_CTRL1_LINK_RATE_810, 0); -- Jani Nikula, Intel Open Source Technology Center