Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1476215 > unrolled thread

[PATCH] Input: wdt87xx_i2c - fix the flash erase issue

Started by<hn.chen@weidahitech.com>
First post2016-09-05 11:10 +0200
Last post2016-09-05 19:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Input: wdt87xx_i2c - fix the flash erase issue <hn.chen@weidahitech.com> - 2016-09-05 11:10 +0200
    Re: [PATCH] Input: wdt87xx_i2c - fix the flash erase issue Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2016-09-05 19:30 +0200

#1476215 — [PATCH] Input: wdt87xx_i2c - fix the flash erase issue

From<hn.chen@weidahitech.com>
Date2016-09-05 11:10 +0200
Subject[PATCH] Input: wdt87xx_i2c - fix the flash erase issue
Message-ID<sdY4F-1HS-19@gated-at.bofh.it>
From: HungNien Chen <hn.chen@weidahitech.com>

Flash erase wait 50ms for the operation completed in last driver.
It will take risk since the spec says the typical is 30ms but the max is
200ms. Replace the value with 200ms for safty.

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

diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c b/drivers/input/touchscreen/wdt87xx_i2c.c
index 73861ad..2519617 100644
--- a/drivers/input/touchscreen/wdt87xx_i2c.c
+++ b/drivers/input/touchscreen/wdt87xx_i2c.c
@@ -23,7 +23,7 @@
 #include <asm/unaligned.h>
 
 #define WDT87XX_NAME		"wdt87xx_i2c"
-#define WDT87XX_DRV_VER		"0.9.7"
+#define WDT87XX_DRV_VER		"0.9.8"
 #define WDT87XX_FW_NAME		"wdt87xx_fw.bin"
 #define WDT87XX_CFG_NAME	"wdt87xx_cfg.bin"
 
@@ -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_FLASH_ERASE_DELAY_MS	200
 #define WDT_FW_RESET_TIME		2500
 
 struct wdt87xx_sys_param {
@@ -726,7 +727,7 @@ static int wdt87xx_write_firmware(struct i2c_client *client, const void *chunk)
 				break;
 			}
 
-			msleep(50);
+			msleep(WDT_FLASH_ERASE_DELAY_MS);
 
 			error = wdt87xx_write_data(client, data, start_addr,
 						   page_size);
-- 
1.9.1

[toc] | [next] | [standalone]


#1476806

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2016-09-05 19:30 +0200
Message-ID<se5Sz-6Mh-41@gated-at.bofh.it>
In reply to#1476215
On Mon, Sep 05, 2016 at 05:02:16PM +0800, hn.chen@weidahitech.com wrote:
> From: HungNien Chen <hn.chen@weidahitech.com>
> 
> Flash erase wait 50ms for the operation completed in last driver.
> It will take risk since the spec says the typical is 30ms but the max is
> 200ms. Replace the value with 200ms for safty.
> 
> Signed-off-by: HungNien Chen <hn.chen@weidahitech.com>

Applied, thank you.

> ---
>  drivers/input/touchscreen/wdt87xx_i2c.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c b/drivers/input/touchscreen/wdt87xx_i2c.c
> index 73861ad..2519617 100644
> --- a/drivers/input/touchscreen/wdt87xx_i2c.c
> +++ b/drivers/input/touchscreen/wdt87xx_i2c.c
> @@ -23,7 +23,7 @@
>  #include <asm/unaligned.h>
>  
>  #define WDT87XX_NAME		"wdt87xx_i2c"
> -#define WDT87XX_DRV_VER		"0.9.7"
> +#define WDT87XX_DRV_VER		"0.9.8"
>  #define WDT87XX_FW_NAME		"wdt87xx_fw.bin"
>  #define WDT87XX_CFG_NAME	"wdt87xx_cfg.bin"
>  
> @@ -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_FLASH_ERASE_DELAY_MS	200
>  #define WDT_FW_RESET_TIME		2500
>  
>  struct wdt87xx_sys_param {
> @@ -726,7 +727,7 @@ static int wdt87xx_write_firmware(struct i2c_client *client, const void *chunk)
>  				break;
>  			}
>  
> -			msleep(50);
> +			msleep(WDT_FLASH_ERASE_DELAY_MS);
>  
>  			error = wdt87xx_write_data(client, data, start_addr,
>  						   page_size);
> -- 
> 1.9.1
> 

-- 
Dmitry

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web