[Intel-gfx] [PATCH V2] Wait double buffered register to be stable for load pipe detection
Ma Ling
ling.ma at intel.com
Fri May 15 09:32:14 CEST 2009
We have two approaches for VGA detections: hot plug detection for 945G onwards
and load pipe detection for Pre-945G. load pipe detection will get one free
pipe ,and set border color as red and blue, then check CRT status by
swf register. Because pipe registers in hires mode are double buffered,
once set force border bit in pipeconf register, we have to wait for
a vblank until it is effective, otherwise result is unstable.
It fixed freedesktop bug #20463
Signed-off-by: Ma Ling <ling.ma at intel.com>
---
Current KMS don't implement load pipe detection, it is next work.
src/i830_crt.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/i830_crt.c b/src/i830_crt.c
index d8e4a76..ee31770 100644
--- a/src/i830_crt.c
+++ b/src/i830_crt.c
@@ -286,7 +286,8 @@ i830_crt_detect_load (xf86CrtcPtr crtc,
{
uint32_t pipeconf = INREG(pipeconf_reg);
OUTREG(pipeconf_reg, pipeconf | PIPECONF_FORCE_BORDER);
-
+ /* Wait for next Vblank to substitue border color for Color info */
+ i830WaitForVblank (pScrn);
st00 = pI830->readStandard (pI830, 0x3c2);
present = (st00 & (1 << 4)) != 0;
OUTREG(pipeconf_reg, pipeconf);
--
1.5.4.4
More information about the Intel-gfx
mailing list