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 c5c6015..cb2ac04 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;
 }