Messages in this thread | | | Date | Mon, 19 Feb 2018 16:26:18 +0530 | From | Abhishek Sahu <> | Subject | Re: [PATCH 08/12] i2c: qup: change completion timeout according to transfer length |
| |
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@codeaurora.org> >> --- >> 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.
Thanks, Abhishek
| |