From: Manasi Navare <manasi.d.navare@intel.com>
To: Jan-Marek Glogowski <glogow@fbihome.de>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] v3 drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse"
Date: Thu, 16 Aug 2018 11:03:50 -0700 [thread overview]
Message-ID: <20180816180349.GB5643@intel.com> (raw)
In-Reply-To: <5dff444a-c041-ebad-6082-b3f19b2ec20a@fbihome.de>
On Wed, Aug 08, 2018 at 10:53:35AM +0200, Jan-Marek Glogowski wrote:
> This re-applies the workaround for "some DP sinks, [which] are a
> little nuts" from commit 1a36147bb939 ("drm/i915: Perform link
> quality check unconditionally during long pulse").
> It makes the secondary AOC E2460P monitor connected via DP to an
> acer Veriton N4640G usable again.
Would be nice to add in the commit message that this sink sends a
long pulse to indicate link loss, hence check link status during long pulse.
If there is a FDO bug associated with this you could also add the
Bugzilla link before Sign off tag.
But other than that this looks good to me.
Manasi
>
> This hunk was dropped in commit c85d200e8321 ("drm/i915: Move SST
> DP link retraining into the ->post_hotplug() hook")
>
> Signed-off-by: Jan-Marek Glogowski <glogow@fbihome.de>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 33 +++++++++++++++++++--------------
> 1 file changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 8e0e14b..22b2452 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4333,18 +4333,6 @@ intel_dp_needs_link_retrain(struct intel_dp *intel_dp)
> return !drm_dp_channel_eq_ok(link_status, intel_dp->lane_count);
> }
>
> -/*
> - * If display is now connected check links status,
> - * there has been known issues of link loss triggering
> - * long pulse.
> - *
> - * Some sinks (eg. ASUS PB287Q) seem to perform some
> - * weird HPD ping pong during modesets. So we can apparently
> - * 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.
> - */
> int intel_dp_retrain_link(struct intel_encoder *encoder,
> struct drm_modeset_acquire_ctx *ctx)
> {
> @@ -4923,7 +4911,8 @@ intel_dp_unset_edid(struct intel_dp *intel_dp)
> }
>
> static int
> -intel_dp_long_pulse(struct intel_connector *connector)
> +intel_dp_long_pulse(struct intel_connector *connector,
> + struct drm_modeset_acquire_ctx *ctx)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_dp *intel_dp = intel_attached_dp(&connector->base);
> @@ -4982,6 +4971,22 @@ intel_dp_long_pulse(struct intel_connector *connector)
> */
> status = connector_status_disconnected;
> goto out;
> + } else {
> + /*
> + * If display is now connected check links status,
> + * there has been known issues of link loss triggering
> + * long pulse.
> + *
> + * Some sinks (eg. ASUS PB287Q) seem to perform some
> + * weird HPD ping pong during modesets. So we can apparently
> + * 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.
> + */
> + struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
> +
> + intel_dp_retrain_link(encoder, ctx);
> }
>
> /*
> @@ -5043,7 +5048,7 @@ intel_dp_detect(struct drm_connector *connector,
> return ret;
> }
>
> - status = intel_dp_long_pulse(intel_dp->attached_connector);
> + status = intel_dp_long_pulse(intel_dp->attached_connector, ctx);
> }
>
> intel_dp->detect_done = false;
> --
> 2.1.4
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-08-16 18:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-03 18:10 [PATCH] drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse" Jan-Marek Glogowski
2018-08-04 1:36 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-08-06 10:25 ` [PATCH] v2 " Jan-Marek Glogowski
2018-08-07 19:33 ` Lyude Paul
2018-08-07 22:26 ` Jan-Marek Glogowski
2018-08-07 22:46 ` Lyude Paul
2018-08-08 8:53 ` [PATCH] v3 " Jan-Marek Glogowski
2018-08-13 16:35 ` Lyude Paul
2018-08-16 18:03 ` Manasi Navare [this message]
2018-08-16 19:12 ` Jan-Marek Glogowski
2018-08-17 11:12 ` Jan-Marek Glogowski
2018-08-17 20:33 ` Lyude Paul
2018-08-04 1:53 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-08-06 16:34 ` ✓ Fi.CI.BAT: success for drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse" (rev2) Patchwork
2018-08-06 19:27 ` ✓ Fi.CI.IGT: " Patchwork
2018-08-08 23:17 ` ✓ Fi.CI.BAT: success for drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse" (rev3) Patchwork
2018-08-09 2:39 ` ✓ Fi.CI.IGT: " 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=20180816180349.GB5643@intel.com \
--to=manasi.d.navare@intel.com \
--cc=glogow@fbihome.de \
--cc=intel-gfx@lists.freedesktop.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: link
Be 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.