[PATCH] drm/i915/crt: Do not rely upon the HPD presence pin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 31, 2012 at 1:08 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> Whilst most monitors do wire up the HPD presence pin, it seems quite a
> few KVM do not. Therefore if we simply rely on the HPD pin being
> asserted to indicate a connected monitor we fail miserable, so fall back
> to performing a DCC query for the EDID.

This message is wrong though, the pin is a lie, there is no HPD pin on
the standard
VGA cable.

VGA load detect is done by measuring the resistance across some pins,
a lot of kvms use bad resistor values, should be 50Ohm, someone got some cheap
75Ohm from a TV or something.

Dave.

>
> Reported-and-tested-by: Matthieu LAVIE <boiteamadmax at hotmail.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50501
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> ?drivers/gpu/drm/i915/intel_crt.c | ? ?8 +++++---
> ?1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
> index f0223d0..804611e 100644
> --- a/drivers/gpu/drm/i915/intel_crt.c
> +++ b/drivers/gpu/drm/i915/intel_crt.c
> @@ -453,13 +453,15 @@ 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))
> --
> 1.7.10
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux