diff options
author | Keith Packard <keithp@ukulele.keithp.com> | 2006-12-21 23:30:37 -0800 |
---|---|---|
committer | Keith Packard <keithp@ukulele.keithp.com> | 2006-12-21 23:30:37 -0800 |
commit | c237e930615f1b048895efe988d28503f5d67c37 (patch) | |
tree | 3c67f571f80a33d08fd4a61ab7f1776234bddf0d | |
parent | d8c5dba4d797fc50d7b2b5855f34e2d2e2ad3e4f (diff) |
Use Vesa DDC timeouts for all I2C busses.
The default I2C timeouts are very short, and while most
modern monitors have no trouble responding at that rate,
some older ones cannot manage.
-rw-r--r-- | src/i830_i2c.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/i830_i2c.c b/src/i830_i2c.c index 8fd12ea9..450f9de0 100644 --- a/src/i830_i2c.c +++ b/src/i830_i2c.c @@ -365,6 +365,14 @@ I830I2CInit(ScrnInfoPtr pScrn, I2CBusPtr *bus_ptr, int i2c_reg, char *name) #endif pI2CBus->DriverPrivate.uval = i2c_reg; + /* Assume all busses are used for DDCish stuff */ + + pI2CBus->ByteTimeout = 2200; /* VESA DDC spec 3 p. 43 (+10 %) */ + pI2CBus->StartTimeout = 550; + pI2CBus->BitTimeout = 40; + pI2CBus->ByteTimeout = 40; + pI2CBus->AcknTimeout = 40; + if (!xf86I2CBusInit(pI2CBus)) return FALSE; |