summaryrefslogtreecommitdiff
authorZhao Yakui <yakui.zhao@intel.com>2009-09-22 02:58:38 (GMT)
committer Zhenyu Wang <zhenyuw@linux.intel.com>2009-09-22 02:58:38 (GMT)
commit02fe9be695f7e209944bd0f7b67950f93619feee (patch) (side-by-side diff)
tree6578cdbf39e1da7bb21a07653a02561286241809
parent762e406d138ac80854b6a23b1078b52f6581f0d8 (diff)
downloadxf86-video-intel-02fe9be695f7e209944bd0f7b67950f93619feee.zip
xf86-video-intel-02fe9be695f7e209944bd0f7b67950f93619feee.tar.gz
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>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/i830_sdvo.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c
index 8f3193b..5ffe0e8 100644
--- a/src/i830_sdvo.c
+++ b/src/i830_sdvo.c
@@ -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;