summaryrefslogtreecommitdiffstats
path: root/sound/mips
diff options
context:
space:
mode:
authorDaniel Kurtz <djkurtz@chromium.org>2012-06-28 15:08:20 +0200
committerHenrik Rydberg <rydberg@euromail.se>2012-06-29 15:58:06 +0200
commit333e5a9a99b8bba14f1a8631218d2d1e55fd58b1 (patch)
tree5ef107a17e2bcba86dfc8f7238a50d854be7f5f9 /sound/mips
parentInput: atmel_mxt_ts - refactor when and how object table is freed (diff)
downloadlinux-333e5a9a99b8bba14f1a8631218d2d1e55fd58b1.tar.xz
linux-333e5a9a99b8bba14f1a8631218d2d1e55fd58b1.zip
Input: atmel_mxt_ts - cache T9 reportid range when reading object table
Streamline interrupt processing by caching the T9 reportid range when first reading the object table. In the process, refactor reading the object descriptor table. First, since the object_table entries are now exactly the same layout in device memory and in the driver, allocate an appropriately sized array and fetch the entire table directly into it in a single i2c transaction. Since a 6 byte table object requires 10 bytes to read, doing this dramatically reduces overhead. Note: The cached T9 reportid's are initialized to 0, which is an invalid reportid. Thus, the checks in the interrupt handler will always fail for devices that do not support the T9 object. Therefore, after doing a firmware update, the old object table is destroyed and all cached object values are reset to 0, before reading the new object table, in case the new firmware does not have the old objects. This patch tested on an MXT224E. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'sound/mips')
0 files changed, 0 insertions, 0 deletions