drm/i915/crt: Explicitly return false if connected to a digital monitor

Rather than proceed on and silently return false by default, mention why
we rejected the presence of an EDID as implying the presence of a VGA
monitor. (The question arises whether there is a broken EDID which falsely
reports a digital connection when attached by VGA.)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Chris Wilson 2011-05-12 22:17:15 +01:00 committed by Keith Packard
parent 9f405100f2
commit d3bcb75776

View file

@ -288,6 +288,8 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
* This may be a DVI-I connector with a shared DDC * This may be a DVI-I connector with a shared DDC
* link between analog and digital outputs, so we * link between analog and digital outputs, so we
* have to check the EDID input spec of the attached device. * have to check the EDID input spec of the attached device.
*
* On the other hand, what should we do if it is a broken EDID?
*/ */
if (edid != NULL) { if (edid != NULL) {
is_digital = edid->input & DRM_EDID_INPUT_DIGITAL; is_digital = edid->input & DRM_EDID_INPUT_DIGITAL;
@ -298,6 +300,8 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
if (!is_digital) { if (!is_digital) {
DRM_DEBUG_KMS("CRT detected via DDC:0x50 [EDID]\n"); DRM_DEBUG_KMS("CRT detected via DDC:0x50 [EDID]\n");
return true; return true;
} else {
DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [EDID reports a digital panel]\n");
} }
} }