Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Revert "drm/i915/crt: Do not rely upon the HPD presence pin"

This reverts commit 9e612a008fa7fe493a473454def56aa321479495.

It incorrectly finds VGA connectors where none are attached, apparently
not noticing that nothing replied to the EDID queries, and happily using
the default EDID modes that have nothing to do with actual hardware.

That in turn then causes X to fall down to the lowest common
denominator, which is usually the default 1024x768 mode that is in the
default EDID and pretty much anything supports).

I'd suggest that if not relying on the HDP pin, the code should at least
check whether it gets valid EDID data back, rather than just assume
there's something on the VGA connector.

Cc: Dave Airlie <airlied@linux.ie>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

+3 -5
+3 -5
drivers/gpu/drm/i915/intel_crt.c
··· 453 453 struct intel_load_detect_pipe tmp; 454 454 455 455 if (I915_HAS_HOTPLUG(dev)) { 456 - /* We can not rely on the HPD pin always being correctly wired 457 - * up, for example many KVM do not pass it through, and so 458 - * only trust an assertion that the monitor is connected. 459 - */ 460 456 if (intel_crt_detect_hotplug(connector)) { 461 457 DRM_DEBUG_KMS("CRT detected via hotplug\n"); 462 458 return connector_status_connected; 463 - } else 459 + } else { 464 460 DRM_DEBUG_KMS("CRT not detected via hotplug\n"); 461 + return connector_status_disconnected; 462 + } 465 463 } 466 464 467 465 if (intel_crt_detect_ddc(connector))