xf86-video-intel: 2 commits - src/i830_sdvo.c src/i830_tv.c

Zhenyu Wang zhen at kemper.freedesktop.org
Mon Sep 21 20:00:34 PDT 2009


 src/i830_sdvo.c |    3 +++
 src/i830_tv.c   |    2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 7ae1d0dde6cef3437b67dbc21384cb179616a6c0
Author: Zhao Yakui <yakui.zhao at intel.com>
Date:   Mon Aug 31 13:51:01 2009 +0800

    Skip setting tv format property if output crtc is NULL
    
    When TV is not connected and X start, after plugging TV cable again,
    system will crash because output crtc is NULL. This patch will return,
    do not handle crtc immediately, meanwhile set value will be effective
    until user really enable output by xrandr command.
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>

diff --git a/src/i830_tv.c b/src/i830_tv.c
index 7082aba..df92a35 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1819,7 +1819,7 @@ i830_tv_set_property(xf86OutputPtr output, Atom property,
 	xfree (dev_priv->tv_format);
 	dev_priv->tv_format = val;
 
-	if (pI830->starting)
+	if (pI830->starting || output->crtc == NULL)
 	    return TRUE;
 
 	/* TV format change will generate new modelines, try
commit 02fe9be695f7e209944bd0f7b67950f93619feee
Author: Zhao Yakui <yakui.zhao at intel.com>
Date:   Tue Sep 22 10:58:38 2009 +0800

    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 at intel.com>

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;


More information about the xorg-commit mailing list