From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com ([192.55.52.115]:26073 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752844AbbHUGhT convert rfc822-to-8bit (ORCPT ); Fri, 21 Aug 2015 02:37:19 -0400 From: Jani Nikula To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org Cc: Dave Airlie , stable@vger.kernel.org Subject: Re: [Intel-gfx] [PATCH] drm/i915: Check DP link status on long hpd too In-Reply-To: <1440088649-27549-1-git-send-email-ville.syrjala@linux.intel.com> References: <1440088649-27549-1-git-send-email-ville.syrjala@linux.intel.com> Date: Fri, 21 Aug 2015 09:40:12 +0300 Message-ID: <87lhd5b0vn.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: stable-owner@vger.kernel.org List-ID: On Thu, 20 Aug 2015, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä > > We are no longer checkling the DP link status on long hpd. We used to do > that from the .hot_plug() handler, but it was removed when MST got > introduced. > > If there's no userspace we now fail to retrain the link if the sink > power is toggled (or cable yanked and replugged), meaning the user is > left staring at a blank screen. With the retraining put back that should > be fixed. > > Also remove the leftover comment that referred to the old retraining > from .hot_plug(). > > Fixes a regression introduced in: > commit 0e32b39ceed665bfa4a77a4bc307b6652b991632 > Author: Dave Airlie > Date: Fri May 2 14:02:48 2014 +1000 > > drm/i915: add DP 1.2 MST support (v0.7) > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89453 Tested-by: Palmer Dabbelt > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91407 > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89461 > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89594 > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85641 > Cc: Dave Airlie > Cc: stable@vger.kernel.org > Signed-off-by: Ville Syrjälä > --- > drivers/gpu/drm/i915/intel_dp.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index d32ce48..b014158 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -5024,9 +5024,12 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd) > > intel_dp_probe_oui(intel_dp); > > - if (!intel_dp_probe_mst(intel_dp)) > + if (!intel_dp_probe_mst(intel_dp)) { > + drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > + intel_dp_check_link_status(intel_dp); > + drm_modeset_unlock(&dev->mode_config.connection_mutex); > goto mst_fail; > - > + } > } else { > if (intel_dp->is_mst) { > if (intel_dp_check_mst_status(intel_dp) == -EINVAL) > @@ -5034,10 +5037,6 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd) > } > > if (!intel_dp->is_mst) { > - /* > - * we'll check the link status via the normal hot plug path later - > - * but for short hpds we should check it now > - */ > drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > intel_dp_check_link_status(intel_dp); > drm_modeset_unlock(&dev->mode_config.connection_mutex); > -- > 2.4.6 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center