2010-04-20 10:53:38

by Yauhen Kharuzhy

[permalink] [raw]
Subject: [PATCH] i2c-s3c2410: Decrease delay after end of transaction

msleep(1) which has been used for delay after issuing a STOP condition
to bus cause very big delay (min 1/HZ s). This is makes bulk register
update in I2C devices (for instance video camera) very slowly.

Seems that this delay can be safely decreased to few tens of
microseconds.

Signed-off-by: Yauhen Kharuzhy <[email protected]>
---
drivers/i2c/busses/i2c-s3c2410.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index d27072b..de20a4e 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -521,7 +521,7 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,

/* ensure the stop has been through the bus */

- msleep(1);
+ udelay(50);

out:
return ret;
--
1.6.6.1


2010-04-20 11:13:28

by Ben Dooks

[permalink] [raw]
Subject: Re: [PATCH] i2c-s3c2410: Decrease delay after end of transaction

On Tue, Apr 20, 2010 at 01:53:19PM +0300, Yauhen Kharuzhy wrote:
> msleep(1) which has been used for delay after issuing a STOP condition
> to bus cause very big delay (min 1/HZ s). This is makes bulk register
> update in I2C devices (for instance video camera) very slowly.
>
> Seems that this delay can be safely decreased to few tens of
> microseconds.

Mark Brown has already submitted a similar patch that uses the bus
busy bit. will be in the i2c-next tree soon.

> Signed-off-by: Yauhen Kharuzhy <[email protected]>
> ---
> drivers/i2c/busses/i2c-s3c2410.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index d27072b..de20a4e 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -521,7 +521,7 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,
>
> /* ensure the stop has been through the bus */
>
> - msleep(1);
> + udelay(50);
>
> out:
> return ret;
> --
> 1.6.6.1
>

--
--
Ben

Q: What's a light-year?
A: One-third less calories than a regular year.