designware_i2c: remove 10msec delay in i2c_xfer_finish
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Thu, 7 Nov 2013 13:52:33 +0000 (17:52 +0400)
committerHeiko Schocher <hs@denx.de>
Wed, 13 Nov 2013 05:22:41 +0000 (06:22 +0100)
This delay applies to any data transfer on I2C bus.

For example 1kB data read with per-byte access (which happens if
environment is stored in I2C EEPROM) takes more than 10 seconds.

Moreover data bus driver has to care about bus state and data transfer,
but not about internal states of attached devices.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Tom Rini <trini@ti.com>
cc: Armando Visconti <armando.visconti@st.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Heiko Schocher <hs@denx.de>
Cc: Vipin KUMAR <vipin.kumar@st.com>
Cc: Tom Rix <Tom.Rix@windriver.com>
Cc: Mischa Jonker <mjonker@synopsys.com>
drivers/i2c/designware_i2c.c

index c5c6015e99555c80621856428eee863388bb0c8e..cb2ac04b609864412a8054888f3420bf35ca0287 100644 (file)
@@ -249,9 +249,6 @@ static int i2c_xfer_finish(void)
 
        i2c_flush_rxfifo();
 
-       /* Wait for read/write operation to complete on actual memory */
-       udelay(10000);
-
        return 0;
 }