From ff2be3995d33f9e4b7f63b380f166b6168c9b9c6 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 13 Jul 2007 12:47:18 -0700 Subject: 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. --- src/i830_crt.c | 6 ++---- 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 16af4966..26873fef 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -1509,6 +1509,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; } -- cgit v1.2.3