From: "Ville Syrjälä" <ville.syrjala@linux.intel.com> To: Palmer Dabbelt <palmer@dabbelt.com> Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org Subject: Re: [PATCH] drm/i915: Perform link quality check unconditionally during long pulse Date: Thu, 16 Feb 2017 17:49:37 +0200 [thread overview] Message-ID: <20170216154937.GG31595@intel.com> (raw) In-Reply-To: <mhng-153c991e-5197-453c-be9b-437ad3d64bb3@palmer-mbp2014> On Thu, Feb 16, 2017 at 07:39:29AM -0800, Palmer Dabbelt wrote: > On Thu, 16 Feb 2017 07:30:07 PST (-0800), ville.syrjala@linux.intel.com wrote: > > From: Ville Syrj�l� <ville.syrjala@linux.intel.com> > > > > Apparently some DP sinks are a little nuts and cause HPD to drop > > intermittently during modesets. This happens eg. on an ASUS PB287Q. > > In oder to recover from this we can't really use the previous > > connector status to determine if the link needs retraining, so let's > > just ignore that piece of information and do the retrain > > unconditionally. We do of course still check whether the link is > > supposed to be running or not. > > With this patch on top of linux-4.9 I have DPMS on/off working again, but I > don't have the correct resolutions on my monitor. I just see > > DP1 connected 1024x768+2880+0 (normal left inverted right x axis y axis) 0mm x 0mm > 1024x768 60.00* > 800x600 60.32 56.25 > 848x480 60.00 > 640x480 59.94 Hmm. That would indicate that the EDID reads are also failing now. I wonder if your monitor is just a lemon. Anyways, there were no failed EDID reads visible in the logs you provided. You should keep the drm.debug=0xe and rerun xrandr (do not use the --current knob), and then we should check the dmesg again to see what the kernel thinks the mode list should look like. > > > > > Cc: stable@vger.kernel.org > > Cc: Palmer Dabbelt <palmer@dabbelt.com> > > Reported-by: Palmer Dabbelt <palmer@dabbelt.com> > > References: https://lists.freedesktop.org/archives/intel-gfx/2017-February/119779.html > > Signed-off-by: Ville Syrj�l� <ville.syrjala@linux.intel.com> > > --- > > drivers/gpu/drm/i915/intel_dp.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > > index 024798a9c016..37a746f7fbc3 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -4648,11 +4648,18 @@ intel_dp_long_pulse(struct intel_connector *intel_connector) > > */ > > status = connector_status_disconnected; > > goto out; > > - } else if (connector->status == connector_status_connected) { > > + } else { > > /* > > - * If display was connected already and is still connected > > - * check links status, there has been known issues of > > - * link loss triggerring long pulse!!!! > > + * If display is now connected check links status, > > + * there has been known issues of link loss triggerring > > + * long pulse. > > + * > > + * Some sinks (eg. ASUS PB287Q) seem to perform some > > + * weird HPD ping pong during modesets. So we can apparely > > + * end up with HPD going low during a modeset, and then > > + * going back up soon after. And once that happens we must > > + * retrain the link to get a picture. That's in case no > > + * userspace component reacted to intermittent HPD dip. > > */ > > drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > > intel_dp_check_link_status(intel_dp); -- Ville Syrj�l� Intel OTC
WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com> To: Palmer Dabbelt <palmer@dabbelt.com> Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org Subject: Re: [PATCH] drm/i915: Perform link quality check unconditionally during long pulse Date: Thu, 16 Feb 2017 17:49:37 +0200 [thread overview] Message-ID: <20170216154937.GG31595@intel.com> (raw) In-Reply-To: <mhng-153c991e-5197-453c-be9b-437ad3d64bb3@palmer-mbp2014> On Thu, Feb 16, 2017 at 07:39:29AM -0800, Palmer Dabbelt wrote: > On Thu, 16 Feb 2017 07:30:07 PST (-0800), ville.syrjala@linux.intel.com wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Apparently some DP sinks are a little nuts and cause HPD to drop > > intermittently during modesets. This happens eg. on an ASUS PB287Q. > > In oder to recover from this we can't really use the previous > > connector status to determine if the link needs retraining, so let's > > just ignore that piece of information and do the retrain > > unconditionally. We do of course still check whether the link is > > supposed to be running or not. > > With this patch on top of linux-4.9 I have DPMS on/off working again, but I > don't have the correct resolutions on my monitor. I just see > > DP1 connected 1024x768+2880+0 (normal left inverted right x axis y axis) 0mm x 0mm > 1024x768 60.00* > 800x600 60.32 56.25 > 848x480 60.00 > 640x480 59.94 Hmm. That would indicate that the EDID reads are also failing now. I wonder if your monitor is just a lemon. Anyways, there were no failed EDID reads visible in the logs you provided. You should keep the drm.debug=0xe and rerun xrandr (do not use the --current knob), and then we should check the dmesg again to see what the kernel thinks the mode list should look like. > > > > > Cc: stable@vger.kernel.org > > Cc: Palmer Dabbelt <palmer@dabbelt.com> > > Reported-by: Palmer Dabbelt <palmer@dabbelt.com> > > References: https://lists.freedesktop.org/archives/intel-gfx/2017-February/119779.html > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > --- > > drivers/gpu/drm/i915/intel_dp.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > > index 024798a9c016..37a746f7fbc3 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -4648,11 +4648,18 @@ intel_dp_long_pulse(struct intel_connector *intel_connector) > > */ > > status = connector_status_disconnected; > > goto out; > > - } else if (connector->status == connector_status_connected) { > > + } else { > > /* > > - * If display was connected already and is still connected > > - * check links status, there has been known issues of > > - * link loss triggerring long pulse!!!! > > + * If display is now connected check links status, > > + * there has been known issues of link loss triggerring > > + * long pulse. > > + * > > + * Some sinks (eg. ASUS PB287Q) seem to perform some > > + * weird HPD ping pong during modesets. So we can apparely > > + * end up with HPD going low during a modeset, and then > > + * going back up soon after. And once that happens we must > > + * retrain the link to get a picture. That's in case no > > + * userspace component reacted to intermittent HPD dip. > > */ > > drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > > intel_dp_check_link_status(intel_dp); -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-02-16 15:49 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-10 22:44 [PATCH] drm/i915: Fix DisplayPort Hotplug Palmer Dabbelt 2017-02-14 8:22 ` ✗ Fi.CI.BAT: warning for " Patchwork 2017-02-14 8:54 ` Saarinen, Jani 2017-02-14 15:01 ` [PATCH] " Ville Syrjälä 2017-02-14 18:48 ` Palmer Dabbelt 2017-02-14 19:00 ` Ville Syrjälä 2017-02-16 2:58 ` Palmer Dabbelt 2017-02-16 15:26 ` Ville Syrjälä 2017-02-16 15:30 ` [PATCH] drm/i915: Perform link quality check unconditionally during long pulse ville.syrjala 2017-02-16 15:30 ` ville.syrjala 2017-02-16 15:39 ` Palmer Dabbelt 2017-02-16 15:39 ` Palmer Dabbelt 2017-02-16 15:49 ` Ville Syrjälä [this message] 2017-02-16 15:49 ` Ville Syrjälä 2017-02-16 17:07 ` [Intel-gfx] " Manasi Navare 2017-02-16 17:07 ` Manasi Navare 2017-02-16 17:18 ` Ville Syrjälä 2017-02-16 17:18 ` Ville Syrjälä 2017-02-16 17:24 ` [Intel-gfx] " Manasi Navare 2017-02-16 17:24 ` Manasi Navare 2017-02-16 17:46 ` [Intel-gfx] " Ville Syrjälä 2017-02-16 17:46 ` Ville Syrjälä 2017-02-23 4:00 ` [Intel-gfx] " Palmer Dabbelt 2017-02-23 4:00 ` Palmer Dabbelt 2017-02-23 9:22 ` [Intel-gfx] " Ville Syrjälä 2017-02-23 9:22 ` Ville Syrjälä 2017-03-13 20:53 ` [PATCH v2] " ville.syrjala 2017-03-13 20:53 ` ville.syrjala 2017-03-13 21:20 ` [Intel-gfx] " Chris Wilson 2017-03-13 21:20 ` Chris Wilson 2017-03-13 23:09 ` Manasi Navare 2017-03-13 23:09 ` Manasi Navare 2017-03-14 10:15 ` Ville Syrjälä 2017-03-14 10:15 ` Ville Syrjälä 2017-04-12 19:30 ` [PATCH v3] " ville.syrjala 2017-04-12 19:30 ` ville.syrjala 2017-04-13 12:27 ` Ville Syrjälä 2017-04-13 12:27 ` Ville Syrjälä 2017-02-16 19:52 ` ✓ Fi.CI.BAT: success for drm/i915: Fix DisplayPort Hotplug (rev2) Patchwork 2017-03-13 21:47 ` ✓ Fi.CI.BAT: success for drm/i915: Fix DisplayPort Hotplug (rev3) Patchwork 2017-04-12 19:47 ` ✓ Fi.CI.BAT: success for drm/i915: Fix DisplayPort Hotplug (rev4) Patchwork
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170216154937.GG31595@intel.com \ --to=ville.syrjala@linux.intel.com \ --cc=intel-gfx@lists.freedesktop.org \ --cc=palmer@dabbelt.com \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.