summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/synaptics_dsx (follow)
Commit message (Collapse)AuthorAge
* input: touchscreen: synaptics_dsx: Fix buffer overflowVenkata Prahlad Valluru2018-05-01
| | | | | | | | Limit the index to buffer length while copying from 'strptr' to 'firmware_id'. Change-Id: I1d7cb7a3d9593ca213c7f7341776632e635eb0df Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
* input: touchscreen: synaptics_dsx: Fix uninitialized variable usageVenkata Prahlad Valluru2018-03-13
| | | | | | | | | Initialize variables that are passed by reference, so that they can be used safely afterwards, irrespective of the called function actions. Change-Id: Ib95f3aa3077d6ef7aaaabcfc6c882790b6406793 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
* input: touchscreen: synaptics_dsx: Handle failure case during probeVenkata Prahlad Valluru2018-03-13
| | | | | | | Handle create_singlethread_workqueue api failure case. Change-Id: Ic3f45fddfbd40d8a78dd888eed5f01120809adee Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
* input: synaptics_dsx: validate bounds of intr_reg_numAndrew Chant2017-06-22
| | | | | | | | | | | | | Validate the intr_reg_num value returned by touchscreen to ensure no out of bounds access can occur. Bug: 35472278 Change-Id: I22f5b67815fe7d448b5ed847e4e3d65af63bed84 Signed-off-by: Andrew Chant <achant@google.com> Git-repo: https://android.googlesource.com/kernel/msm Git-commit: 271baca849983ef309e82a4e5953027790f36154 Signed-off-by: Dennis Cagle <dcagle@codeaurora.org> Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* Merge "input: synaptics_dsx: remove unused synaptics touch screen driver files"Linux Build Service Account2017-06-03
|\
| * input: synaptics_dsx: remove unused synaptics touch screen driver filesShantanu Jain2017-05-22
| | | | | | | | | | | | | | | | Remove unused Synaptics DSX touch screen driver files as these are not used in any of the latest targets. Change-Id: I0cc19825691c92fee1c5b71ff7e9e7a6253f6afe Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* | input: synaptics_dsx: fix mutex initMohan Pallaka2017-05-16
|/ | | | | | | | Initialize mutex before using in irq handler. CRs-fixed: 2047720 Change-Id: I5ebfbc22f2a64dde239fcbb13eb26be50543b484 Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
* input: synaptics: fix for buggy code poined by SIL toolAndrew Chant2017-05-02
| | | | | | | | | | | | | | Place file offset validity checks under mutex for synaptics_dsx_rmi_dev.c touch driver. Git-repo: https://android.googlesource.com/kernel/msm Git-commit: e1fb1600fc222337989e3084d68df929882deae5 Change-Id: I2c32babbccb483547204cb2843973abf97e988a5 Signed-off-by: Andrew Chant <achant@google.com> [srkupp@codeaurora.org: This change is a fix for buggy code pointed by sil after merging the above commit.} Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org> Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* Revert "input: synaptics_dsx: remove array declaration in write function"Shantanu Jain2017-04-03
| | | | | | | | This reverts commit bcde95e2e697 ("input: synaptics_dsx: remove array declaration in write function"). Change-Id: I49d05213a473d35bd6ab7fb4149f69ec56f18a8b Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* input: touchscreen: synaptics_dsx: Remove fw_update sysfs entriesAndrew Chant2017-03-29
| | | | | | | | | | | | Remove the sysfs entrypoints to fw_update of synaptics_dsx touch driver. BUG: 32769717 Change-Id: I1b2ea28e6a8c5c6c583077fbc6801ebb17447a38 Git-commit: 2615c5f302441568e6dd20007bc5246d72837e80 Git-repo: https://android.googlesource.com/kernel/msm.git Signed-off-by: Andrew Chant <achant@google.com> Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* input: synaptics_dsx: remove array declaration in write functionShantanu Jain2017-03-24
| | | | | | | | | | Remove array declaration in i2c write function of Synaptics DSX touch driver and use the malloc function to allocate the memory. This change is added to use heap memory instead of stack memory. CRs-Fixed: 1010986 Change-Id: I8f2f75744bb442191d7d4577795d986e10ea1cf6 Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* Input: synaptics: check input, prevent sysfs racesAndrew Chant2016-12-01
| | | | | | | | | | | | | | | | | | | | | concurrent sysfs calls on the fw updater can cause ugly race conditions. Return EBUSY on concurrent sysfs calls. For sysfs calls which generate deferred work, prevent the deferred work from running concurrently with other sysfs calls. Also check that ext_data_source is appropriately sized and allocated, based on a patch by Gengjia Chen (chengjia4574@gmail.com). Signed-off-by: Andrew Chant <achant@google.com> Change-Id:I5bbe4992f3fd2d23db288296eaeb61f5831098e9 Bug: 30799828 Bug: 31252388 Git-repo: https://android.googlesource.com/kernel/msm.git Git-commit: 287ce2ccfefe68067c1f9f5175b6664bf7397fe6 Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
* input: synaptics_dsx: add checks of user input dataMin Chong2016-11-23
| | | | | | | | | | | Add checks of the user input count to avoid possible heap overflow Signed-off-by: Min Chong <mchong@google.com> Bug: 30937462 Git-repo: https://android.googlesource.com/kernel/msm.git Git-commit: a6accafb252a76256f11c83e28c556c8ca4b8e1f Change-Id: I6fc8323cbcf395a2c24e49e65cc7012709d031a2 Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
* Merge "input: synaptics_dsx: allocate heap memory for temp buf"Linux Build Service Account2016-10-05
|\
| * input: synaptics_dsx: allocate heap memory for temp bufRavi Kumar Siddojigari2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | There is a possible stack overflow vulnerability in the rmidev_write function because the stack array size is from user space. changes to allocate heap memory for the temporary buffer instead of stack memory to prevent the stack overflow vulnerability. As discussed under CVE-2016-3865 and ANDROID-28799389. Change-Id: I20f639e09aaf3c533c98a12a2413570feae3d6d0 Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org> Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* | input: synaptics_dsx_core: make clocks as optional for secure touchAbinaya P2016-09-26
|/ | | | | | | | | Make clocks needed for secure touch as optional. Hence, even if the clocks are not defined, just proceed further and initialise the secure touch session. Change-Id: Id8fb80ca0297bc1d1854fdc710abce6a4d2f9620 Signed-off-by: Abinaya P <abinayap@codeaurora.org>
* input: touchscreen: synaptics_dsx: Set power specificationsAlex Sarraf2016-04-27
| | | | | | | Set voltage and current specifications for LDOs. Change-Id: I6e666390ddbdd8128b6ebff8e2deb8c85cf35b21 Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
* input: synaptics: defer touch resume to workqueuezhaoyuan2016-03-23
| | | | | | | | | | | During device resume, the touch resume function is called after display resume. Touch resume function will take about >200ms. Defer the touch resume function to a workqueue to reduce the total device resume time. An optional DT property is added to enable this on targets that need this feature. Change-Id: Ia9b055144c5a7f29f0f0d57428cccbe15a7d7a87 Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
* input: synaptics_dsx_i2c: pass correct QUP Instance to scm callHimanshu Aggarwal2016-03-23
| | | | | | | | | Pass the correct QUP instance to the scm call. This is required for QUP ownership transfer to other subsystems to support the secure touch usecase. Change-Id: I3ff53544fc58db908669cddce155f786dde23c41 Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
* input: synaptics_dsx: enter touch LPM in suspendMao Li2016-03-23
| | | | | | | | S332U needs to pull down the reset pin after it enters onto sleep mode to ensure the LPM is enabled. Change-Id: Ia8d8c1e788eb7d3524df979ad2d9e17ee15c26f2 Signed-off-by: Mao Li <maol@codeaurora.org>
* input: synaptics_dsx_i2c: add support for QUP ownership transferHimanshu Aggarwal2016-03-23
| | | | | | | | Add support for QUP ownership transfer to other subsystems to support the secure touch usecase. Change-Id: I70fd5fb81ce8763095bcfa2feb71d9d806d14bd4 Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
* input: synaptics_dsx_core: clear all outstanding completionsHimanshu Aggarwal2016-03-23
| | | | | | | | | | The secure touch ISR and the poll logic in the user space layer is going out of sync because the completion lock in the driver is getting released in some corner cases unexpectedly. Clear all outstanding completions before waiting for one helps fix the issue. Change-Id: Ia3a6d318330263e7bfd8dfc3cea71c5300ab82b4 Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
* input: synaptics_dsx: add reset in resume functionMao Li2016-03-23
| | | | | | | | Add reset in resume function to enable touch panel S332U for MSM8996 DTP. Change-Id: Id13ee3a8426cbd90692bc8a658f166c79accd7fd Signed-off-by: Mao Li <maol@codeaurora.org>
* input: synaptics_dsx_fw_update: modify firmware upgrade procedureHimanshu Aggarwal2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the firmware upgrade procedure based on the following requirements: If config id of the firmware file is greater than the config id in the device and if packrat id of the firmware img file is greater than the firmware build id in the device, then during the firmware upgrade procedure, both firmware and config areas are upgraded. Otherwise, if the packrat id of the firmware img file is equal to the firmware build id in the device, then only the config area is upgraded. However, if the packrat id of the firmware img file is lesser than the firmware build id in the device, then it is considered as an error. Similarly, if config id of the firmware file is equal to the config id in the device and if packrat id of the firmware img file is greater than the firmware build id in the device, then during the firmware upgrade procedure, both firmware and config areas are upgraded. Otherwise, if the packrat id of the firmware img file is equal to the firmware build id in the device, then no upgrade is needed. However, if the packrat id of the firmware img file is lesser than the firmware build id in the device, then it is considered as an error. This is a propagated patch from 3.10 kernel commit - d9921ff0ce4024b43837d794cc261b52ae58f776 , input: synaptics_dsx_fw_update: modify firmware upgrade procedure Change-Id: I646d2c04243a30b77d48698cce76e9e183bd6db1 Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
* input: synaptics_dsx_fw_update: update fw based on config idHimanshu Aggarwal2016-03-23
| | | | | | | | | | | | | Update the firmware based on strict config ID versioning, rather than the entire config ID as a 4 byte number. This will also protect against config ID major number mismatches and packrat id mismatches. This is a propagated patch from 3.10 kernel. commit - 458cbab5c53d5141a66590441f9567d67d580c6f, input: synaptics_dsx_fw_update: update fw based on config id Change-Id: I1097585d3bd8b6ab753676dc56f268c7ce52680d Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
* input: synaptics_dsx: Read touchscreen config-id during probeSudhakar Manapati2016-03-23
| | | | | | | | | | Add support for reading configuration ID from the touch controller during probe and print it. This is required to identify if touch controller is programmed with correct touch firmware or not. Change-Id: I155f0392ae67e5f9b184b9cef2a7bbb7666be30d Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org> Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
* input: synaptics_dsx: correct the debug message errorAbinaya P2016-03-23
| | | | | | | | Parse the panel coordinates before using it for the debug message. Change-Id: I6e893b91e9f11cf7d80602058358d8256a96726d Signed-off-by: Abinaya P <abinayap@codeaurora.org>
* input: synaptics_dsx: squash commit from 3.14 kernelMohan Pallaka2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squash and apply the following touchscreen changes taken from the msm-3.14 kernel branch as of msm-3.14 commit 3bc54cf86b (Merge "msm: camera: Add dummy sub module in sensor pipeline") b20792c2 input: synaptics_dsx: Fix security issues 4f3ec831 input: synaptics_dsx: Remove use of deprecated INIT_COMPLETION 8c5bd97f input: synaptics_dsx: change permission for sysfs secure_touch_enable b22c0b56 input: synaptics_dsx: reconfigure resolution in suspend 0ea26697 touchscreen: synaptics_dsx: set absolute axes for touchscreen 6a021e0a input: synaptics_dsx: handle all controller interrupts d3de3ed6 input: synaptics_dsx: remove query operation from reinit 2285a8dd input: synaptics_dsx: remove vkey kobject in remove 6817aed5 input: synaptics: Fix to secure touch clock unbalance 44a84a1e input: synaptics_dsx: support for pm ops 41439903 input: synaptics: add support for unprogrammed panels b029351d input: synaptics: remove outdated header d065c5e0 input: synaptics: add ability to distinguish touch part 72ca30da input: synaptics_dsx: release pinctrl resources on probe failure 0ab5f1e5 input: synaptics: add NULL pointer check ad4102c8 input: synaptics: Secure touch clocks 6a77bbed input: synaptics_dsx: fix compilation warning when !CONFIG_PM_* f3488933 input: synaptics_dsx: reorder device resume sequence 71b65447 input: synaptics_dsx: add support for 2D sensor for soft-keys 610ecdc2 input: synaptics_dsx: fix data sysfs read-write permission 06195779 input: synaptics_dsx: fix up world writable sysfs file 995ed76d input: synaptics_dsx: add ability to identify controller 69a416fe input: synaptic_dsx: configure touch panel boundary coordinates 609eb34b input: synaptics_dsx: correct sysfs permissions 59af5ffb input: synaptics_dsx: remove firmware update at boot 13b71e2f input: synaptic_dsx: stay awake the device during firmware update dccee682 input: synaptic_dsx: add sysfs entry for force firmware update a4d13992 input: synaptics: secure touch support 11c70731 input: synaptic_dsx: add debugfs support for suspend/resume 2642f2cb input: synaptics_dsx: add standard features for touch support 72f05e70 input: synaptics_dsx: add dual regulator support ab390caa input: synaptics_dsx: add device tree support 51898424 input: synaptics_dsx: fix conflicts with other drivers Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
* input: synaptics_dsx: Add support for synaptics_dsx touchAlexandra Chin2016-03-23
Change-Id: I1df8a7465fdb5c18cf69e0908347fc78ce7dd07c Git-commit: 67b7a9d78725d5de2a1899095eb0026e15343a62 Git-repo: git://github.com/synaptics-touch/synaptics-dsx-v2.1 Signed-off-by: Alexandra Chin <alexandra.chin@tw.synaptics.com> Signed-off-by: Amy Maloche <amaloche@codeaurora.org>