From: Palmer Dabbelt <palmer@dabbelt.com>
To: intel-gfx@lists.freedesktop.org, chris@chris-wilson.co.uk
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH] drm/i915: Fix DisplayPort Hotplug
Date: Fri, 10 Feb 2017 14:44:20 -0800 [thread overview]
Message-ID: <20170210224420.13488-1-palmer@dabbelt.com> (raw)
DisplayPort no longer hotplugs on my machine (a 2014 MacBook Pro
attached to an ASUS PB287Q). I believe the problem is that long pulses
are no longer triggering intel_dp_check_link_status. I bisected the
problem down to (7d23e3c37 "drm/i915: Cleaning up intel_dp_hpd_pulse")
and it appears the only material change there was to remove one of those
calls.
This commit adds the check_link_status call back in, which causes hotplug to
work again for me. I test this via a "xset dpms force off". Note that this is
very similar to <https://bugs.freedesktop.org/show_bug.cgi?id=89453>, but it's
back again.
I've tested this against 4.9, and it applies against the current head.
See <https://bugs.freedesktop.org/show_bug.cgi?id=99766>.
Here's the commit that triggered the regression:
commit 7d23e3c37bb3fc6952dc84007ee60cb533fd2d5c
Author: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
Date: Wed Mar 30 18:05:23 2016 +0530
drm/i915: Cleaning up intel_dp_hpd_pulse
Current DP detection has DPCD operations split across
intel_dp_hpd_pulse and intel_dp_detect which contains
duplicates as well. Also intel_dp_detect is called
during modes enumeration as well which will result
in multiple dpcd operations. So this patch tries
to solve both these by bringing all DPCD operations
in one single function and make intel_dp_detect
use existing values instead of repeating same steps.
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
---
drivers/gpu/drm/i915/intel_dp.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 0b8e8eb..32ca4be 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4831,6 +4831,10 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
long_hpd ? "long" : "short");
if (long_hpd) {
+ drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
+ intel_dp_check_link_status(intel_dp);
+ drm_modeset_unlock(&dev->mode_config.connection_mutex);
+
intel_dp->detect_done = false;
return IRQ_NONE;
}
--
2.10.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2017-02-10 22:44 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-10 22:44 Palmer Dabbelt [this message]
2017-02-14 8:22 ` ✗ Fi.CI.BAT: warning for drm/i915: Fix DisplayPort Hotplug 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:39 ` Palmer Dabbelt
2017-02-16 15:49 ` Ville Syrjälä
2017-02-16 17:07 ` [Intel-gfx] " Manasi Navare
2017-02-16 17:18 ` Ville Syrjälä
2017-02-16 17:24 ` Manasi Navare
2017-02-16 17:46 ` Ville Syrjälä
2017-02-23 4:00 ` Palmer Dabbelt
2017-02-23 9:22 ` Ville Syrjälä
2017-03-13 20:53 ` [PATCH v2] " ville.syrjala
2017-03-13 21:20 ` [Intel-gfx] " Chris Wilson
2017-03-13 23:09 ` Manasi Navare
2017-03-14 10:15 ` Ville Syrjälä
2017-04-12 19:30 ` [PATCH v3] " ville.syrjala
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=20170210224420.13488-1-palmer@dabbelt.com \
--to=palmer@dabbelt.com \
--cc=chris@chris-wilson.co.uk \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox