Thread (5 messages) 5 messages, 2 authors, 2013-06-18

Re: [PATCH] input: stmpe: Fix the touchscreen interrupt handling

From: Marek Vasut <marex@denx.de>
Date: 2013-05-16 23:25:17

Dear Samuel Ortiz,
Hi Marek,

On Mon, Apr 22, 2013 at 01:06:05AM +0200, Marek Vasut wrote:
quoted
The touchscreen interrupt handling in the STMPE touchscreen driver
doesn't seem to work correctly. It relies on FIFO_TH to be asserted
instead of TOUCH_DET interrupt for touchscreen detection.

The FIFO_TH is usually asserted but is asserted independently of the
touchscreen controller operation. Because the bits in the interrupt
status register are not entirely cleaned, the interrupt handler is
triggered even if FIFO_TH is not yet set. Make sure that all bits in
the interrupt status register are cleared early.

Rework the touchscreen interrupt handling so it waits for TOUCH_DET
interrupt to happen. Upon first TOUCH_DET interrupt, worker thread
is started which polls the touchscreen controller for location data
until no touch is detected. Touch is determined by checking the X
and Y coordinates, if they are zero, no touch happens.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Samuel Ortiz <redacted>
Cc: Vipul Kumar Samar <redacted>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Bill Pemberton <redacted>
Cc: Mark Brown <redacted>
---

 drivers/input/touchscreen/stmpe-ts.c |  111
 ++++++++++++++-------------------- drivers/mfd/stmpe.c                 
 |   10 +--
 2 files changed, 50 insertions(+), 71 deletions(-)
Could you please split this patch in 2, the MFD part is independent from
the input one and could be applied separately.
I'd vote for applying this as one single patch, since this fixes one single 
problem (touchscreen not working properly). Or is that a big issue for you?

btw. can I get some review from the ST guys please ?

Best regards,
Marek Vasut
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help