summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b6cf31e)
raw | patch | inline | side by side (parent: b6cf31e)
author | Franklin S Cooper Jr <fcooper@ti.com> | |
Wed, 7 Oct 2015 09:52:25 +0000 (04:52 -0500) | ||
committer | Praneeth Bajjuri <praneeth@ti.com> | |
Tue, 24 Nov 2015 23:19:25 +0000 (17:19 -0600) |
In the touchscreen controller ISR, reading the tsc starting from
register 0x2 causes the tsc to very infrequently update the detected
finger movement coordinates. The irq pin toogles at a fast rate to
indicate touch events are happening but when reading the coordinates
from the tsc the are only updated/change at at rate of ~100 ms.
Example:
X: 10 , Y: 30
X: 10 , Y: 30
X: 10, Y: 30
..
// After 100 ms
X: 300, Y: 300
X: 300, y: 300
..
// After 100 ms
X: 1743, Y: 621
X: 1743, Y: 621
For some reason if instead of starting to read at register 0x2 you
start reading at register 0x0 this issue isn't seen. This seems like
a quirk only seen in the EDT FT5506 so to fix this issue simply
adjust the code to start reading from 0x0. Since there is technically
nothing wrong with doing this no regressions should be seen with other
touchscreen controllers supported by this driver.
Change-Id: I2b08c8e17a3ec59db1842f580b5e8dd6e102648d
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
register 0x2 causes the tsc to very infrequently update the detected
finger movement coordinates. The irq pin toogles at a fast rate to
indicate touch events are happening but when reading the coordinates
from the tsc the are only updated/change at at rate of ~100 ms.
Example:
X: 10 , Y: 30
X: 10 , Y: 30
X: 10, Y: 30
..
// After 100 ms
X: 300, Y: 300
X: 300, y: 300
..
// After 100 ms
X: 1743, Y: 621
X: 1743, Y: 621
For some reason if instead of starting to read at register 0x2 you
start reading at register 0x0 this issue isn't seen. This seems like
a quirk only seen in the EDT FT5506 so to fix this issue simply
adjust the code to start reading from 0x0. Since there is technically
nothing wrong with doing this no regressions should be seen with other
touchscreen controllers supported by this driver.
Change-Id: I2b08c8e17a3ec59db1842f580b5e8dd6e102648d
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
drivers/input/touchscreen/edt-ft5x06.c | patch | blob | history |
index b7d806e35288ac5b7e0cfcfe867a7dc64995f617..bb5ee8a5efa8c6abc2664febe3d551a3888bac7b 100644 (file)
struct edt_ft5x06_ts_data *tsdata = dev_id;
struct device *dev = &tsdata->client->dev;
u8 cmd;
- u8 rdbuf[59];
+ u8 rdbuf[61];
int i, type, x, y, id;
int offset, tplen, datalen;
int error;
break;
case M09:
- cmd = 0x02;
- offset = 1;
+ cmd = 0x0;
+ offset = 3;
tplen = 6;
datalen = tplen * tsdata->max_support_points + 1 - cmd;
break;