summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@neko.keithp.com>2007-07-13 12:47:18 -0700
committerKyle McMartin <kyle@freedesktop.org>2007-07-26 19:46:17 -0400
commitb5b97f117d28202065018c167bad2c330bb6c25c (patch)
treeefbfa492938b4d6809d6732aeaca53e2d42211a4
parent760bd1bbeaa8daa3bf05267b34897e175058f4f0 (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.c6
-rw-r--r--src/i830_display.c2
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;
}