Re: [PATCH 07/12] i2c: pxa: Reset i2c controller on timeout in interrupt and pio mode
On Saturday 30 May 2015 02:43 AM, Robert Jarzmik wrote: Vaibhav Hiremath writes: In case of timeout during msg xfer assert reset to i2c controller for both interrupt and PIO mode of operation. Signed-off-by: Jett.Zhou [vaibhav.hirem...@linaro.org: Split & merge patches into logical changes and update the Changelog] Signed-off-by: Vaibhav Hiremath Signed-off-by: Vaibhav Hiremath I have the same comment as before. I don't like a reset in the transfer path, especially in normal busy phases for slow I2C devices. A quirk as before. Note that this assertion of reset in in case of timeout error. Timeout error may be due to various reasons, and this is recovery mechanism. Thanks, Vaibhav -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 07/12] i2c: pxa: Reset i2c controller on timeout in interrupt and pio mode
Vaibhav Hiremath writes: > In case of timeout during msg xfer assert reset to > i2c controller for both interrupt and PIO mode of operation. > > Signed-off-by: Jett.Zhou > [vaibhav.hirem...@linaro.org: Split & merge patches into logical changes > and update the Changelog] > Signed-off-by: Vaibhav Hiremath > > Signed-off-by: Vaibhav Hiremath I have the same comment as before. I don't like a reset in the transfer path, especially in normal busy phases for slow I2C devices. A quirk as before. Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 07/12] i2c: pxa: Reset i2c controller on timeout in interrupt and pio mode
In case of timeout during msg xfer assert reset to i2c controller for both interrupt and PIO mode of operation. Signed-off-by: Jett.Zhou [vaibhav.hirem...@linaro.org: Split & merge patches into logical changes and update the Changelog] Signed-off-by: Vaibhav Hiremath Signed-off-by: Vaibhav Hiremath --- drivers/i2c/busses/i2c-pxa.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 2777d5c..3c6ebb5 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -197,6 +197,8 @@ struct pxa_i2c { */ #define I2C_PXA_SLAVE_ADDR 0x1 +static void i2c_pxa_reset(struct pxa_i2c *i2c); + #ifdef DEBUG struct bits { @@ -846,6 +848,9 @@ out: ret = I2C_RETRY; } + if (ret < 0) + i2c_pxa_reset(i2c); + return ret; } @@ -912,6 +917,9 @@ static int i2c_pxa_do_xfer(struct pxa_i2c *i2c, struct i2c_msg *msg, int num) } out: + if (ret < 0) + i2c_pxa_reset(i2c); + return ret; } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html