Re: [PATCH 08/12] i2c: qup: change completion timeout according to transfer length

From: Andy Gross
Date: Tue Feb 27 2018 - 18:05:51 EST


On Mon, Feb 19, 2018 at 04:26:18PM +0530, Abhishek Sahu wrote:
> On 2018-02-16 10:18, Sricharan R wrote:
> >On 2/3/2018 1:28 PM, Abhishek Sahu wrote:
> >>Currently the completion timeout is being taken according to
> >>maximum transfer length which is too high if SCL is operating in
> >>high frequency. This patch calculates timeout on the basis of
> >>one-byte transfer time and uses the same for completion timeout.
> >>
> >>Signed-off-by: Abhishek Sahu <absahu@xxxxxxxxxxxxxx>
> >>---
> >> drivers/i2c/busses/i2c-qup.c | 9 ++++++---
> >> 1 file changed, 6 insertions(+), 3 deletions(-)
> >>
> >>diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
> >>index a91fc70..6df65ea 100644
> >>--- a/drivers/i2c/busses/i2c-qup.c
> >>+++ b/drivers/i2c/busses/i2c-qup.c
> >>@@ -130,8 +130,8 @@
> >> #define MX_TX_RX_LEN SZ_64K
> >> #define MX_BLOCKS (MX_TX_RX_LEN / QUP_READ_LIMIT)
> >>
> >>-/* Max timeout in ms for 32k bytes */
> >>-#define TOUT_MAX 300
> >>+/* Min timeout for i2c transfers */
> >>+#define TOUT_MIN 2
> >>
> >
> > may be you can mention, why is this 2 ?
> >
>
> This 2 seconds is timeout which I am adding on the top of maximum
> xfer time calculated from bus speed to compensate the interrupt
> latency and other factors. It will make xfer timeout minimum as
> 2 seconds.
>
> I will update the comment to explain it in more detail.

Once you do that add:

Reviewed-by: Andy Gross <andy.gross@xxxxxxxxxx>