diff options
author | Keith Packard <keithp@neko.keithp.com> | 2007-07-13 12:47:18 -0700 |
---|---|---|
committer | Kyle McMartin <kyle@freedesktop.org> | 2007-07-26 19:46:17 -0400 |
commit | b5b97f117d28202065018c167bad2c330bb6c25c (patch) | |
tree | efbfa492938b4d6809d6732aeaca53e2d42211a4 | |
parent | 760bd1bbeaa8daa3bf05267b34897e175058f4f0 (diff) |
Remove hard-coded CRT blanking frobbing for load detection.
CRT blanking needn't be adjusted to perform load detection on 9xx chips, and
the 8xx load detection path now adjusts blanking just during load detection.
Adjusting the blanking interval turned out to cause many monitors to fail to
sync.
(cherry picked from commit ff2be3995d33f9e4b7f63b380f166b6168c9b9c6)
-rw-r--r-- | src/i830_crt.c | 6 | ||||
-rw-r--r-- | src/i830_display.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/i830_crt.c b/src/i830_crt.c index 9e6180e3..d7762a07 100644 --- a/src/i830_crt.c +++ b/src/i830_crt.c @@ -97,8 +97,6 @@ static Bool i830_crt_mode_fixup(xf86OutputPtr output, DisplayModePtr mode, DisplayModePtr adjusted_mode) { - /* disable blanking so we can detect monitors */ - adjusted_mode->CrtcVBlankStart = adjusted_mode->CrtcVTotal - 3; return TRUE; } @@ -360,8 +358,8 @@ i830_crt_detect(xf86OutputPtr output) return XF86OutputStatusDisconnected; } -// if (i830_crt_detect_ddc(output)) -// return XF86OutputStatusConnected; + if (i830_crt_detect_ddc(output)) + return XF86OutputStatusConnected; /* Use the load-detect method if we have no other way of telling. */ crtc = i830GetLoadDetectPipe (output, NULL, &dpms_mode); diff --git a/src/i830_display.c b/src/i830_display.c index a5ef9c36..666c08ad 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -1395,6 +1395,8 @@ i830GetLoadDetectPipe(xf86OutputPtr output, DisplayModePtr mode, int *dpms_mode) output->funcs->mode_set (output, &crtc->mode, &crtc->mode); output->funcs->commit (output); } + /* let the output get through one full cycle before testing */ + i830WaitForVblank (pScrn); return crtc; } |