Skip to content

Commit 8f53369

Browse files
committed
Revert "drm/i915/crt: Do not rely upon the HPD presence pin"
This reverts commit 9e612a0. 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>
1 parent 7724953 commit 8f53369

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

drivers/gpu/drm/i915/intel_crt.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,15 +453,13 @@ intel_crt_detect(struct drm_connector *connector, bool force)
453453
struct intel_load_detect_pipe tmp;
454454

455455
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-
*/
460456
if (intel_crt_detect_hotplug(connector)) {
461457
DRM_DEBUG_KMS("CRT detected via hotplug\n");
462458
return connector_status_connected;
463-
} else
459+
} else {
464460
DRM_DEBUG_KMS("CRT not detected via hotplug\n");
461+
return connector_status_disconnected;
462+
}
465463
}
466464

467465
if (intel_crt_detect_ddc(connector))

0 commit comments

Comments
 (0)