Check whether the DVI-I/D is connected or disconnected based on EDID

When the monitor is digital type for SDVO-DVI D, there should exist the EDID. If
there is no EDID, it should be detected as disconnected.

Signe-off-by: Zhao Yakui <yakui.zhao@intel.com>
This commit is contained in:
Zhao Yakui 2009-09-22 10:58:38 +08:00 committed by Zhenyu Wang
parent 762e406d13
commit 02fe9be695
1 changed files with 3 additions and 0 deletions

View File

@ -1824,6 +1824,9 @@ i830_sdvo_detect(xf86OutputPtr output)
xf86MonPtr edid_mon;
/* Check EDID in DVI-I case */
edid_mon = xf86OutputGetEDID (output, intel_output->pDDCBus);
/* when there is no EDID, it should be detected as disconnected */
if (!edid_mon)
return XF86OutputStatusDisconnected;
if (edid_mon && !DIGITAL(edid_mon->features.input_type)) {
xfree(edid_mon);
return XF86OutputStatusDisconnected;