diff mbox

Input: wdt87xx_i2c - Change the sleep time to 2500ms after the sw reset

Message ID 1436625402-4501-1-git-send-email-hn.chen@weidahitech.com (mailing list archive)
State New, archived
Headers show

Commit Message

HungNien Chen July 11, 2015, 2:36 p.m. UTC
The original value is 200ms, it includes the loading fw & boot up to
 the main function. After that, the main function will do algorithm
 initialized and touch calibrtion about 1.1 second. The touch
 calibration will change controller freq to scan the best working freq 
 and it has risk to make the i2c data error when doing fw update. 
 We extend the sleep to 2500ms after the sw reset to skip this period time.

Signed-off-by: HungNien Chen <hn.chen@weidahitech.com>
---
 drivers/input/touchscreen/wdt87xx_i2c.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Dmitry Torokhov July 12, 2015, 6:28 a.m. UTC | #1
On Sat, Jul 11, 2015 at 10:36:42PM +0800, HungNien Chen wrote:
>  The original value is 200ms, it includes the loading fw & boot up to
>  the main function. After that, the main function will do algorithm
>  initialized and touch calibrtion about 1.1 second. The touch
>  calibration will change controller freq to scan the best working freq 
>  and it has risk to make the i2c data error when doing fw update. 
>  We extend the sleep to 2500ms after the sw reset to skip this period time.
> 
> Signed-off-by: HungNien Chen <hn.chen@weidahitech.com>

Applied, thank you.

> ---
>  drivers/input/touchscreen/wdt87xx_i2c.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c b/drivers/input/touchscreen/wdt87xx_i2c.c
> index b97cb4f..cfd1487 100644
> --- a/drivers/input/touchscreen/wdt87xx_i2c.c
> +++ b/drivers/input/touchscreen/wdt87xx_i2c.c
> @@ -157,6 +157,7 @@
>  /* Controller requires minimum 300us between commands */
>  #define WDT_COMMAND_DELAY_MS		2
>  #define WDT_FLASH_WRITE_DELAY_MS	4
> +#define	WDT_FW_RESET_TIME		2500
>  
>  struct wdt87xx_sys_param {
>  	u16	fw_id;
> @@ -413,7 +414,7 @@ static int wdt87xx_sw_reset(struct i2c_client *client)
>  	}
>  
>  	/* Wait the device to be ready */
> -	msleep(200);
> +	msleep(WDT_FW_RESET_TIME);
>  
>  	return 0;
>  }
> -- 
> 1.9.1
>
HungNien Chen July 13, 2015, 11:47 a.m. UTC | #2
Hi, Dmitry,

Thanks !

BR,
Hn.chen.

-----Original Message-----
From: Dmitry Torokhov [mailto:dmitry.torokhov@gmail.com] 
Sent: Sunday, July 12, 2015 2:29 PM
To: Hn Chen
Cc: linux-input@vger.kernel.org; linux-kernel@vger.kernel.org; charliemooney@google.com
Subject: Re: [PATCH] Input: wdt87xx_i2c - Change the sleep time to 2500ms after the sw reset

On Sat, Jul 11, 2015 at 10:36:42PM +0800, HungNien Chen wrote:
>  The original value is 200ms, it includes the loading fw & boot up to  
> the main function. After that, the main function will do algorithm  
> initialized and touch calibrtion about 1.1 second. The touch  
> calibration will change controller freq to scan the best working freq  
> and it has risk to make the i2c data error when doing fw update.
>  We extend the sleep to 2500ms after the sw reset to skip this period time.
> 
> Signed-off-by: HungNien Chen <hn.chen@weidahitech.com>

Applied, thank you.

> ---
>  drivers/input/touchscreen/wdt87xx_i2c.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c 
> b/drivers/input/touchscreen/wdt87xx_i2c.c
> index b97cb4f..cfd1487 100644
> --- a/drivers/input/touchscreen/wdt87xx_i2c.c
> +++ b/drivers/input/touchscreen/wdt87xx_i2c.c
> @@ -157,6 +157,7 @@
>  /* Controller requires minimum 300us between commands */
>  #define WDT_COMMAND_DELAY_MS		2
>  #define WDT_FLASH_WRITE_DELAY_MS	4
> +#define	WDT_FW_RESET_TIME		2500
>  
>  struct wdt87xx_sys_param {
>  	u16	fw_id;
> @@ -413,7 +414,7 @@ static int wdt87xx_sw_reset(struct i2c_client *client)
>  	}
>  
>  	/* Wait the device to be ready */
> -	msleep(200);
> +	msleep(WDT_FW_RESET_TIME);
>  
>  	return 0;
>  }
> --
> 1.9.1
>
diff mbox

Patch

diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c b/drivers/input/touchscreen/wdt87xx_i2c.c
index b97cb4f..cfd1487 100644
--- a/drivers/input/touchscreen/wdt87xx_i2c.c
+++ b/drivers/input/touchscreen/wdt87xx_i2c.c
@@ -157,6 +157,7 @@ 
 /* Controller requires minimum 300us between commands */
 #define WDT_COMMAND_DELAY_MS		2
 #define WDT_FLASH_WRITE_DELAY_MS	4
+#define	WDT_FW_RESET_TIME		2500
 
 struct wdt87xx_sys_param {
 	u16	fw_id;
@@ -413,7 +414,7 @@  static int wdt87xx_sw_reset(struct i2c_client *client)
 	}
 
 	/* Wait the device to be ready */
-	msleep(200);
+	msleep(WDT_FW_RESET_TIME);
 
 	return 0;
 }