Message ID | 20200821161401.11307-9-l.stelmach@samsung.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Some fixes for spi-s3c64xx | expand |
On Fri, Aug 21, 2020 at 06:14:00PM +0200, Łukasz Stelmach wrote: > Increase timeout by 30 ms for some wiggle and set the minimum value to > 100 ms. This ensures a non-zero value for short transfers which > may take less than 1 ms. The timeout value does not affect > performance because it is used with a completion. > > Similar formula is used in other drivers e.g. sun4i, sun6i. > > Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> > --- > drivers/spi/spi-s3c64xx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index 89c162efe355..ea5a22dec53d 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -473,7 +473,8 @@ static int s3c64xx_wait_for_dma(struct s3c64xx_spi_driver_data *sdd, /* millisecs to xfer 'len' bytes @ 'cur_speed' */ ms = xfer->len * 8 * 1000 / sdd->cur_speed; - ms += 10; /* some tolerance */ + ms += 30; /* some tolerance */ + ms = max(ms, 100); /* minimum timeout */ val = msecs_to_jiffies(ms) + 10; val = wait_for_completion_timeout(&sdd->xfer_completion, val);
Increase timeout by 30 ms for some wiggle and set the minimum value to 100 ms. This ensures a non-zero value for short transfers which may take less than 1 ms. The timeout value does not affect performance because it is used with a completion. Similar formula is used in other drivers e.g. sun4i, sun6i. Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> --- drivers/spi/spi-s3c64xx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)