Re: [PATCH] input: stmpe: Fix the touchscreen interrupt handling
From: Marek Vasut <marex@denx.de>
Date: 2013-06-18 12:01:24
Hi,
Hi Marek, On Fri, May 17, 2013 at 01:25:11AM +0200, Marek Vasut wrote:quoted
Dear Samuel Ortiz,quoted
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?I am fine as long as we get feedback from Dmitry and the ST folks about it.
Absoluty, the feedback from the ST guys is completely imperative in this case. Thank you! Best regards, Marek Vasut