Skip to content

Commit

Permalink
Input: smtpe-ts - wait 50mS until polling for pen-up
Browse files Browse the repository at this point in the history
Wait a little bit longer, 50mS instead of 20mS, until the driver starts
polling for pen-up. The problematic behavior before this patch is applied
is as follows. The behavior was observed on the STMPE610QTR controller.

Upon a physical pen-down event, the touchscreen reports one set of x-y-p
coordinates and a pen-down event. After that, the pen-up polling is
triggered and since the controller is not ready yet, the polling mistakenly
detects a pen-up event while the physical state is still such that the pen
is down on the touch surface.

The pen-up handling flushes the controller FIFO, so after that, all the
samples in the controller are discarded. The controller becomes ready
shortly after this bogus pen-up handling and does generate again a pen-down
interrupt. This time, the controller contains x-y-p samples which all read
as zero. Since pressure value is zero, this set of samples is effectively
ignored by userland.

In the end, the driver just bounces between pen-down and bogus pen-up
handling, generating no useful results. Fix this by giving the controller a
bit more time before polling it for pen-up.

Signed-off-by: Marek Vasut <[email protected]>
Reviewed-by: Viresh Kumar <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
  • Loading branch information
Marek Vasut authored and dtor committed May 8, 2015
1 parent 8f6bcc9 commit 9ceeb59
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/input/touchscreen/stmpe-ts.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ static irqreturn_t stmpe_ts_handler(int irq, void *data)
STMPE_TSC_CTRL_TSC_EN, STMPE_TSC_CTRL_TSC_EN);

/* start polling for touch_det to detect release */
schedule_delayed_work(&ts->work, msecs_to_jiffies(20));
schedule_delayed_work(&ts->work, msecs_to_jiffies(50));

return IRQ_HANDLED;
}
Expand Down

0 comments on commit 9ceeb59

Please sign in to comment.