• Marek Vasut's avatar
    Input: smtpe-ts - wait 50mS until polling for pen-up · 9ceeb59c
    Marek Vasut authored
    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: default avatarMarek Vasut <marex@denx.de>
    Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    9ceeb59c
stmpe-ts.c 10.1 KB