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:
parent
9f405100f2
commit
d3bcb75776
|
@ -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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue