Received: by 10.213.65.68 with SMTP id h4csp1050509imn; Wed, 4 Apr 2018 11:43:05 -0700 (PDT) X-Google-Smtp-Source: AIpwx49nG1RKldjf+eNVY9BIT5q9+OVuhGkHJK0SmAl+5bCoq24Krr2r+6xJhdXR5AC5+H7egOCa X-Received: by 2002:a17:902:57ce:: with SMTP id g14-v6mr2672679plj.222.1522867385511; Wed, 04 Apr 2018 11:43:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522867385; cv=none; d=google.com; s=arc-20160816; b=xvgvWI+nfWGCww+9SKhm4MzIVPZUXveF1nmX/LPh2vUQPZMWwkFTr+7+gO8KQuJiUy Kgq3sPVP0V8gtZYrmZl8GOmokRghhG6e42MJ37xbG76T3SUOb9aXc5KbWt/mszjvS5m7 SksRwEOjiEOZysKsrozWaR/DHiXUWSK5BFAvoGsEfUZZUKR1Gt0VWSR+wVnIZEwdraOR hubHZ5Eiyt4E/gY3XFQ+1Df1NPE0TyQWKKzZBfRjBRpP4AgvUMAAEKRdINwr7v//NmQC qp35ukWcNz3SxkrErYUsWmBnOkEYf/XEoKyr/dPVFs+w9iv96RFMjngZTYKsAO5PLEzW pFFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date :arc-authentication-results; bh=ZWaTkYlELZKo0gjUGZN37aVP+lLoYWwFKQf3jiq6UPg=; b=JCubnxGP9ulC9yDbUbuqxvhpMP+MckxeIDz9pkkAlisP/BonVRDrGuxlFHjouVUuqd 5ZBpkMpQWS/m+mP1hp7R/sZFyorlBtLHvEVILIR+3Ffj6q/GgKWz4kf2mb+kuEu7Il2a g3q/e2wLNx0EZVVhxjqg9gxghNMTFWh/ntSG+kVOPvgnGeFlsH6kL5Lqwv32Q24l53m+ DMzYDS9PsojAd7CmxNFpPDhMuEPY9jsTfeSvY7ts8+1C/cn7ciggdonWewqnTfEcrILh 6e3W9+UIrZRkWVFEkIQ4SIl32Tcifikc7PhQ0ZIx+dYZizcnC5xGEWq2E65OGc7F+U57 S7NA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z73-v6si4214740plh.35.2018.04.04.11.42.50; Wed, 04 Apr 2018 11:43:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751482AbeDDSlr (ORCPT + 99 others); Wed, 4 Apr 2018 14:41:47 -0400 Received: from mga02.intel.com ([134.134.136.20]:19101 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751356AbeDDSlp (ORCPT ); Wed, 4 Apr 2018 14:41:45 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Apr 2018 11:41:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,407,1517904000"; d="scan'208";a="31044119" Received: from labuser-z97x-ud5h.jf.intel.com (HELO intel.com) ([10.54.75.151]) by orsmga008.jf.intel.com with ESMTP; 04 Apr 2018 11:41:44 -0700 Date: Wed, 4 Apr 2018 11:44:36 -0700 From: Manasi Navare To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Lyude Paul , dri-devel@lists.freedesktop.org, David Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dhinakaran Pandiyan , Rodrigo Vivi , stable@vger.kernel.org, Laura Abbott Subject: Re: [Intel-gfx] [PATCH v2] drm/i915: Keep AUX block running when disabling DPMS for MST Message-ID: <20180404184435.GA2804@intel.com> References: <20180402212142.19841-1-lyude@redhat.com> <20180402212617.21247-1-lyude@redhat.com> <20180404153429.GE5453@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180404153429.GE5453@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 04, 2018 at 06:34:29PM +0300, Ville Syrj?l? wrote: > On Mon, Apr 02, 2018 at 05:26:16PM -0400, Lyude Paul wrote: > > While enabling/disabling DPMS before link training with MST hubs is > > perfectly valid; unfortunately disabling DPMS results in some devices > > disabling their AUX CH block as well. For SST this isn't as much of a > > problem, but for MST we need to be able to continue handling aux > > transactions even when none of the sinks are turned on since it's > > possible for us to have a single atomic commit which results in > > disabling each downstream sink, followed by subsequently re-enabling > > each sink. > > > > If we don't do this, we'll end up stalling any pending ESI interrupts > > from the sink for up to 1ms. Unfortunately, dropping ESIs during this > > timespan makes it so that link fallback retraining for MST (which I will > > be submitting to the ML shortly) fails due to the channel EQ failure > > interrupts potentially getting dropped. Additionally, when performing a > > modeset that brings the hub status's link status from bad -> good having > > ESIs disabled for that long causes us to miss the hub's response to us > > trying to start link training as well. > > > > Since any sink with MST is going to support DisplayPort 1.2 anyway, save > > us the hassle of trying to wait until the sink comes back up and just > > never shut the aux block down. > > > > Changes since v2: > > - Fix patch name, no functional changes > > > > Signed-off-by: Lyude Paul > > Cc: Laura Abbott > > Cc: Dhinakaran Pandiyan > > Cc: Ville Syrj?l? > > Cc: stable@vger.kernel.org > > Fixes: ad260ab32a4d9 ("drm/i915/dp: Write to SET_POWER dpcd to enable MST hub.") > > --- > > drivers/gpu/drm/i915/intel_dp.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > > index 62f82c4298ac..0479c377981b 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -2589,11 +2589,13 @@ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode) > > return; > > > > if (mode != DRM_MODE_DPMS_ON) { > > + unsigned char data = intel_dp->is_mst ? > > + DP_SET_POWER_D3_AUX_ON : DP_SET_POWER_D3; > > This smells like a workaround for an actual bug somewhere. Why exactly > is the slower wakeup or the AUX block a problem for MST but not for SST > when the link training is exactly the same for SST and MST? > The problem occurs only in case of MST because the Channel EQ failure is notified through ESI sideband AUX messages which potentially can get dropped because of disabling DPMS. But in case of SST, we detect the channel EQ failure write during the EQ TPS sequence which happens on the main link. Manasi > > + > > if (downstream_hpd_needs_d0(intel_dp)) > > return; > > > > - ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, > > - DP_SET_POWER_D3); > > + ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, data); > > } else { > > struct intel_lspcon *lspcon = dp_to_lspcon(intel_dp); > > > > -- > > 2.14.3 > > -- > Ville Syrj?l? > Intel OTC > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx