From 9d464bd5b0d2724f5edb26e859888ceb6a248f9b Mon Sep 17 00:00:00 2001 From: Zhenyu Wang Date: Fri, 13 Feb 2009 03:15:48 +0000 Subject: Fix SDVO/HDMI detect SDVOC detect bit is only valid for HDMIC. And for SDVO devices, SDVOB detect bit should be used to probe all possible SDVO outputs. --- src/i830_driver.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) Index: b/src/i830_driver.c =================================================================== --- a/src/i830_driver.c 2009-03-09 15:34:32.000000000 -0600 +++ b/src/i830_driver.c 2009-03-09 15:37:20.000000000 -0600 @@ -926,19 +926,21 @@ I830SetupOutputs(ScrnInfoPtr pScrn) i830_lvds_init(pScrn); if (IS_I9XX(pI830)) { + Bool found; if (INREG(SDVOB) & SDVO_DETECTED) { - Bool found = i830_sdvo_init(pScrn, SDVOB); + found = i830_sdvo_init(pScrn, SDVOB); if (!found && SUPPORTS_INTEGRATED_HDMI(pI830)) i830_hdmi_init(pScrn, SDVOB); } - if (INREG(SDVOC) & SDVO_DETECTED) { - Bool found = i830_sdvo_init(pScrn, SDVOC); + if ((INREG(SDVOB) & SDVO_DETECTED)) + found = i830_sdvo_init(pScrn, SDVOC); + + if ((INREG(SDVOC) & SDVO_DETECTED) && + !found && SUPPORTS_INTEGRATED_HDMI(pI830)) + i830_hdmi_init(pScrn, SDVOC); - if (!found && SUPPORTS_INTEGRATED_HDMI(pI830)) - i830_hdmi_init(pScrn, SDVOC); - } } else { i830_dvo_init(pScrn); }