summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyu.z.wang@intel.com>2009-02-13 11:15:48 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2009-02-13 11:15:48 +0800
commit9d464bd5b0d2724f5edb26e859888ceb6a248f9b (patch)
tree010e20224af7e29dbb1ce67aadbbd6f0568a023c
parent48445d2e939328495b4abe0fb7e579dfcef727bb (diff)
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.
-rw-r--r--src/i830_driver.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index f8219b7b..77c127e0 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -912,21 +912,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) ||
- /* SDVOC detect bit is reserved on 965G/965GM */
- (IS_I965G(pI830) && !IS_G4X(pI830))) {
- 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);
}