From: Chris Wilson <chris@chris-wilson.co.uk>
To: Daniel Vetter <daniel.vetter@ffwll.ch>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH] drm/i915/crt: Do not rely upon the HPD presence pin
Date: Mon, 11 Jun 2012 08:58:19 +0100 [thread overview]
Message-ID: <1339401502_5537@CP5-2952> (raw)
In-Reply-To: <1339399787-28595-1-git-send-email-daniel.vetter@ffwll.ch>
On Mon, 11 Jun 2012 09:29:47 +0200, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> From: Chris Wilson <chris@chris-wilson.co.uk>
>
> VGA hotplug detection "works" by measuring the resistance across
> certain pins. A lot of kvm switches fumble this and wire up cheap
> resistors with the wrong value or don't bother at all.
>
> To accomodate these, also try to detect a connected monitor by trying
> to grab the edid. Contrary to !HAS_HOTPLUG platforms we don't bother
> with an actual load-detection cycle when the output is life - that
> would be actual work to implement because things moved around. This is
> the big difference to Chris Wilson's original approach:
>
> commit 9e612a008fa7fe493a473454def56aa321479495
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date: Thu May 31 13:08:53 2012 +0100
>
> drm/i915/crt: Do not rely upon the HPD presence pin
>
> This blew up on Linus' machine because it errornously detected a vga
> screen (without and edid and hence only the default modes), leading to
> it's prompt removal:
That's purposely misleading since it did not claim to detect a monitor,
only reporting that it was not able to determine whether a monitor was
connected or not. It was X's treatment of the unknown condition that has
triggered the bug reports over the years for spurious and transient
modesetting. In that there is nothing unique to that patch.
> commit 8f53369b753f5f4c7684c2eb0b592152abb1dd00
> Author: Linus Torvalds <torvalds@linux-foundation.org>
> Date: Fri Jun 8 14:53:06 2012 -0700
>
> Revert "drm/i915/crt: Do not rely upon the HPD presence pin"
>
> Reported-and-tested-by: Matthieu LAVIE <boiteamadmax@hotmail.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50501
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/intel_crt.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
> index 75a70c4..7155181 100644
> --- a/drivers/gpu/drm/i915/intel_crt.c
> +++ b/drivers/gpu/drm/i915/intel_crt.c
> @@ -453,18 +453,23 @@ intel_crt_detect(struct drm_connector *connector, bool force)
> struct intel_load_detect_pipe tmp;
>
> if (I915_HAS_HOTPLUG(dev)) {
> + /* We can not rely on the HPD pin always being correctly wired
> + * up, for example many KVM do not pass it through, and so
> + * only trust an assertion that the monitor is connected.
> + */
> if (intel_crt_detect_hotplug(connector)) {
> DRM_DEBUG_KMS("CRT detected via hotplug\n");
> return connector_status_connected;
> - } else {
> + } else
> DRM_DEBUG_KMS("CRT not detected via hotplug\n");
> - return connector_status_disconnected;
> - }
> }
>
> if (intel_crt_detect_ddc(connector))
> return connector_status_connected;
>
> + if (I915_HAS_HOTPLUG(dev))
> + return connector_status_disconnected;
> +
This need a big warning because intel_crtc_detect_ddc() is unable to
accurately determine detection status.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
next prev parent reply other threads:[~2012-06-11 7:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-11 7:29 [PATCH] drm/i915/crt: Do not rely upon the HPD presence pin Daniel Vetter
2012-06-11 7:58 ` Chris Wilson [this message]
2012-06-11 8:40 ` Daniel Vetter
2012-06-11 9:46 ` Chris Wilson
2012-06-11 14:38 ` Daniel Vetter
2012-06-11 14:42 ` Chris Wilson
2012-06-11 19:00 ` Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
2012-05-31 12:08 Chris Wilson
2012-05-31 12:50 ` Daniel Vetter
2012-05-31 13:34 ` Dave Airlie
2012-06-08 22:22 ` Daniel Vetter
2012-06-08 22:23 ` Chris Wilson
2012-06-10 17:04 ` Daniel Vetter
2012-06-10 19:17 ` Chris Wilson
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=1339401502_5537@CP5-2952 \
--to=chris@chris-wilson.co.uk \
--cc=daniel.vetter@ffwll.ch \
--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