RE: [PATCH 3/7] i2c: img-scb: mark transaction as complete when all data is read

2015-07-29 Thread Sifan Naeem
Hi James,

 
 On 27/07/15 12:55, Sifan Naeem wrote:
  We can mark the transfer as complete without waiting for the stop bit.
  This is important when handling repeated start transfers as we have to
  start the next transfer without the stop bit being issued.
 
  Signed-off-by: Sifan Naeem sifan.na...@imgtec.com
  ---
   drivers/i2c/busses/i2c-img-scb.c |7 +--
   1 file changed, 5 insertions(+), 2 deletions(-)
 
  diff --git a/drivers/i2c/busses/i2c-img-scb.c
  b/drivers/i2c/busses/i2c-img-scb.c
  index 24b09fe..e27c3e0 100644
  --- a/drivers/i2c/busses/i2c-img-scb.c
  +++ b/drivers/i2c/busses/i2c-img-scb.c
  @@ -903,8 +903,11 @@ static unsigned int img_i2c_auto(struct img_i2c
 *i2c,
  if (i2c-msg.flags  I2C_M_RD) {
  if (int_status  INT_FIFO_FULL_FILLING) {
  img_i2c_read_fifo(i2c);
  -   if (i2c-msg.len == 0)
  -   return ISR_WAITSTOP;
  +   if (i2c-msg.len == 0) {
  +   if (i2c-last_msg)
  +   return ISR_WAITSTOP;
  +   return ISR_COMPLETE(0);
 
 That already happens in img_i2c_isr().
 
Will drop this patch from v2.

Sifan
 Cheers
 James

--
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 3/7] i2c: img-scb: mark transaction as complete when all data is read

2015-07-29 Thread James Hogan
On 27/07/15 12:55, Sifan Naeem wrote:
 We can mark the transfer as complete without waiting for the stop
 bit. This is important when handling repeated start transfers as
 we have to start the next transfer without the stop bit being issued.
 
 Signed-off-by: Sifan Naeem sifan.na...@imgtec.com
 ---
  drivers/i2c/busses/i2c-img-scb.c |7 +--
  1 file changed, 5 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/i2c/busses/i2c-img-scb.c 
 b/drivers/i2c/busses/i2c-img-scb.c
 index 24b09fe..e27c3e0 100644
 --- a/drivers/i2c/busses/i2c-img-scb.c
 +++ b/drivers/i2c/busses/i2c-img-scb.c
 @@ -903,8 +903,11 @@ static unsigned int img_i2c_auto(struct img_i2c *i2c,
   if (i2c-msg.flags  I2C_M_RD) {
   if (int_status  INT_FIFO_FULL_FILLING) {
   img_i2c_read_fifo(i2c);
 - if (i2c-msg.len == 0)
 - return ISR_WAITSTOP;
 + if (i2c-msg.len == 0) {
 + if (i2c-last_msg)
 + return ISR_WAITSTOP;
 + return ISR_COMPLETE(0);

That already happens in img_i2c_isr().

Cheers
James



signature.asc
Description: OpenPGP digital signature


[PATCH 3/7] i2c: img-scb: mark transaction as complete when all data is read

2015-07-27 Thread Sifan Naeem
We can mark the transfer as complete without waiting for the stop
bit. This is important when handling repeated start transfers as
we have to start the next transfer without the stop bit being issued.

Signed-off-by: Sifan Naeem sifan.na...@imgtec.com
---
 drivers/i2c/busses/i2c-img-scb.c |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-img-scb.c b/drivers/i2c/busses/i2c-img-scb.c
index 24b09fe..e27c3e0 100644
--- a/drivers/i2c/busses/i2c-img-scb.c
+++ b/drivers/i2c/busses/i2c-img-scb.c
@@ -903,8 +903,11 @@ static unsigned int img_i2c_auto(struct img_i2c *i2c,
if (i2c-msg.flags  I2C_M_RD) {
if (int_status  INT_FIFO_FULL_FILLING) {
img_i2c_read_fifo(i2c);
-   if (i2c-msg.len == 0)
-   return ISR_WAITSTOP;
+   if (i2c-msg.len == 0) {
+   if (i2c-last_msg)
+   return ISR_WAITSTOP;
+   return ISR_COMPLETE(0);
+   }
}
} else {
if (int_status  INT_FIFO_EMPTY_EMPTYING) {
-- 
1.7.9.5

--
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