Fix poll rate on touchscreen (#3238)
authorJames Hughes <JamesH65@users.noreply.github.com>
Tue, 17 Sep 2019 15:22:09 +0000 (16:22 +0100)
committerPhil Elwell <pelwell@users.noreply.github.com>
Tue, 17 Sep 2019 15:22:09 +0000 (16:22 +0100)
Was running at 25Hz, rather than he expected 60. Only been doing it
for the last 5 years....

Replace msleep_interruptible with usleep_range as the msleep call
is not accurate for times < 20ms.

Fixes: https://github.com/raspberrypi/linux/issues/3227

Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
drivers/input/touchscreen/rpi-ft5406.c

index 4115b46..719ab01 100644 (file)
@@ -78,7 +78,7 @@ static int ft5406_thread(void *arg)
 
        while (!kthread_should_stop()) {
                /* 60fps polling */
-               msleep_interruptible(17);
+               usleep_range(16600, 16700);
                memcpy_fromio(&regs, ts->ts_base, sizeof(struct ft5406_regs));
                iowrite8(99,
                         ts->ts_base +