Re: [PATCH v2 2/2] Input: ads7846: convert to one message

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

 



On Tue, Nov 10, 2020 at 09:50:41AM +0100, Oleksij Rempel wrote:
> Convert multiple full duplex transfers in to a single transfer to reduce
> CPU load.
> 
> Current driver version support following filtering modes:
> - ads7846_no_filter() - not filtered
> - ads7846_debounce_filter() - driver specific debounce filter
> - pdata->filter - platform specific debounce filter (do any platform
> 	provides such filter?)
> 
> Without filter this HW is not really usable, since the physic of
> resistive touchscreen can provide some bounce effects. With driver internal
> filter, we have constant amount of retries + debounce retries if some anomaly
> was detected.
> 
> High amount of tiny SPI transfers is the primer reason of high CPU load
> and interrupt frequency.
> 
> This patch create one SPI transfer with all fields and not optional retires. If
> bounce anomaly was detected, we will make more transfer if needed.
> 
> Without this patch, we will get about 10% CPU load on iMX6S on pen-down event.
> For example by holding stylus on the screen.
> 
> With this patch, depending in the amount of retries, the CPU load will
> be 1% with "ti,debounce-rep = <3>".
> 
> One buffer transfer allows us to use PIO FIFO or DMA engine, depending
> on the platform.
> 
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>

Applied, thank you.

-- 
Dmitry



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux