diff options
author | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2009-02-13 11:15:48 +0800 |
---|---|---|
committer | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2009-02-13 11:15:48 +0800 |
commit | 9d464bd5b0d2724f5edb26e859888ceb6a248f9b (patch) | |
tree | 010e20224af7e29dbb1ce67aadbbd6f0568a023c | |
parent | 48445d2e939328495b4abe0fb7e579dfcef727bb (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.c | 16 |
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); } |