Re: [PATCH] Input: ili210x - Fix reset timing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 18, 2022 at 06:34:30PM +0200, Marek Vasut wrote:
> According to Ilitek "231x & ILI251x Programming Guide" Version: 2.30
> "2.1. Power Sequence", "T4 Chip Reset and discharge time" is minimum
> 10ms and "T2 Chip initial time" is maximum 150ms. Adjust the reset
> timings such that T4 is 15ms and T2 is 160ms to fit those figures.
> 
> This prevents sporadic touch controller start up failures when some
> systems with at least ILI251x controller boot, without this patch
> the systems sometimes fail to communicate with the touch controller.
> 
> Fixes: 201f3c803544c ("Input: ili210x - add reset GPIO support")
> Signed-off-by: Marek Vasut <marex@xxxxxxx>
> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> ---
>  drivers/input/touchscreen/ili210x.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
> index 2bd407d86bae5..131cb648a82ae 100644
> --- a/drivers/input/touchscreen/ili210x.c
> +++ b/drivers/input/touchscreen/ili210x.c
> @@ -951,9 +951,9 @@ static int ili210x_i2c_probe(struct i2c_client *client,
>  		if (error)
>  			return error;
>  
> -		usleep_range(50, 100);
> +		msleep(15);

WARNING: msleep < 20ms can sleep for up to 20ms; see
Documentation/timers/timers-howto.rst
#38: FILE: drivers/input/touchscreen/ili210x.c:954:
+               msleep(15);

Should this be usleep_range(10000, 15000) like in
ili251x_hardware_reset()? Actually, should we adopt
ili251x_hardware_reset() to be used there?

>  		gpiod_set_value_cansleep(reset_gpio, 0);
> -		msleep(100);
> +		msleep(160);
>  	}
>  
>  	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
> -- 
> 2.35.1
> 

Thanks.

-- 
Dmitry



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux