Re: [PATCH 07/12] i2c: pxa: Reset i2c controller on timeout in interrupt and pio mode

2015-05-29 Thread Vaibhav Hiremath



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

2015-05-29 Thread Robert Jarzmik
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

2015-05-28 Thread Vaibhav Hiremath
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