linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] Touchscreen performance related fixes
@ 2014-11-11  8:33 Vignesh R
  2014-11-11  8:33 ` [PATCH v3 1/6] input: touchscreen: ti_am335x_tsc Interchange touchscreen and ADC steps Vignesh R
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Vignesh R @ 2014-11-11  8:33 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Benoit Cousson, Tony Lindgren, Russell King, Jonathan Cameron,
	Hartmut Knaack, richardcochran, Dmitry Torokhov, Lee Jones,
	Sebastian Andrzej Siewior
  Cc: Lars-Peter Clausen, Peter Meerwald, Samuel Ortiz, Felipe Balbi,
	Vignesh R, Brad Griffis, Sanjeev Sharma, Paul Gortmaker,
	Jan Kardell, devicetree, linux-kernel, linux-omap,
	linux-arm-kernel, linux-iio, linux-input

This series of patches fix TSC defects related to lag in touchscreen
performance and cursor jump at touch release. The lag was result of
udelay in TSC interrupt handler. Cursor jump due to false pen-up event.
The patches implement Advisory 1.0.31 in silicon errata of am335x-evm
to avoid false pen-up events and remove udelay. The advisory says to use
steps 1 to 4 for ADC and 5 to 16 for TSC (assuming 4 wire TSC and 4 channel
ADC). Further the X co-ordinate must be the last one to be sampled just
before charge step. The first two patches implement the required changes.

A DT parameter to configure the duration of tsc charge step. It represents
number of ADC clock cycles to wait between applying the step configuration
registers and going back to the IDLE state. The charge delay value can vary
across boards. Configuring correct value of charge delay is important to avoid
false pen-up events. Hence it is necessary to expose charge-delay value as
DT parameter. The pen-up detection happens immediately after the charge step
so this does in fact function as a hardware knob for adjusting the amount of
settling time.

After applying these changes false pen-up events have not be observed and
smooth circles can be drawn on touch screen. The performance is much better
in recognizing quick movement across the screen. No lag or cursor jump is
observed.

Change log:

v3:
 - Replace delta filtering logic in TSC driver with median filtering
   as suggested by Richard.
 - Addressed Lee Jones comments.

v2:
 - Addressed comments by Hartmut Knaack
 - patch 2 was split into two as per Lee Jones comment

Brad Griffis (2):
  input: touchscreen: ti_am335x_tsc Interchange touchscreen and ADC
    steps
  input: touchscreen: ti_am335x_tsc: Remove udelay in interrupt handler

Vignesh R (4):
  mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save
  ARM: dts: AM335x: Make charge delay a DT parameter for tsc
  input: touchscreen: ti_am335x_tsc: Use charge delay DT parameter
  input: touchscreen: ti_am335x_tsc: Replace delta filtering with median
    filtering

 .../bindings/input/touchscreen/ti-tsc-adc.txt      |  15 ++
 arch/arm/boot/dts/am335x-evm.dts                   |   1 +
 drivers/iio/adc/ti_am335x_adc.c                    |   5 +-
 drivers/input/touchscreen/ti_am335x_tsc.c          | 179 +++++++++++----------
 drivers/mfd/ti_am335x_tscadc.c                     |   7 +-
 include/linux/mfd/ti_am335x_tscadc.h               |   4 +-
 6 files changed, 121 insertions(+), 90 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-11-13 10:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-11  8:33 [PATCH v3 0/6] Touchscreen performance related fixes Vignesh R
2014-11-11  8:33 ` [PATCH v3 1/6] input: touchscreen: ti_am335x_tsc Interchange touchscreen and ADC steps Vignesh R
2014-11-11  8:34 ` [PATCH v3 2/6] input: touchscreen: ti_am335x_tsc: Remove udelay in interrupt handler Vignesh R
2014-11-11  8:34 ` [PATCH v3 3/6] mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save Vignesh R
2014-11-11 12:26   ` Lee Jones
2014-11-11 15:26     ` R, Vignesh
     [not found]       ` <71C24A547111EA4E84AE759B748D9EAE4B976C-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2014-11-13 10:25         ` Lee Jones
2014-11-11  8:34 ` [PATCH v3 4/6] ARM: dts: AM335x: Make charge delay a DT parameter for tsc Vignesh R
     [not found] ` <1415694844-11230-1-git-send-email-vigneshr-l0cyMroinI0@public.gmane.org>
2014-11-11  8:34   ` [PATCH v3 5/6] input: touchscreen: ti_am335x_tsc: Use charge delay DT parameter Vignesh R
2014-11-11  8:34 ` [PATCH v3 6/6] input: touchscreen: ti_am335x_tsc: Replace delta filtering with median filtering Vignesh R

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).