summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-16touch: fts: add mutex to protect offload reportandroid-s-v2-beta-3_r0.4android-s-v2-beta-2_r0.4android-s-v2-beta-1_r0.4android-s-qpr3-beta-3_r0.3android-s-qpr3-beta-2_r0.3android-s-qpr3-beta-1_r0.3android-s-beta-5_r0.5android-s-beta-4_r0.5android-s-beta-3_r0.5android-12.1.0_r0.4android-12.1.0_r0.33android-12.1.0_r0.26android-12.1.0_r0.20android-12.1.0_r0.14android-12.0.0_r0.6android-12.0.0_r0.40android-12.0.0_r0.34android-12.0.0_r0.24android-12.0.0_r0.14android-msm-redbull-4.19-s-v2-beta-3android-msm-redbull-4.19-s-qpr3-beta-3android-msm-redbull-4.19-s-qpr3-beta-2android-msm-redbull-4.19-s-beta-5android-msm-redbull-4.19-s-beta-4android-msm-redbull-4.19-s-beta-3android-msm-redbull-4.19-android12Landroid-msm-redbull-4.19-android12-v2-beta-2android-msm-redbull-4.19-android12-qpr3android-msm-redbull-4.19-android12-qpr1android-msm-redbull-4.19-android12android-msm-redbull--s-v2-beta-1davidycchen
When the release_all_touches and offload_report run at the same time, it may cause the input report conflict before input sync. bug: 190460965 Test: flash boot.img and vendor_boot.img. Signed-off-by: davidycchen <davidycchen@google.com> Change-Id: I35e5d296a762629e64d0851f5336b7de604f8e86
2021-06-09touch: fts: clear touch offload fields while releasing all touchesedavidycchen
Clear the pressure and size of touch_offload while releasing all touchese to make sure the consistency between touch driver and touch_offload. Bug: 190460965 Test: touch is workable. Signed-off-by: davidycchen <davidycchen@google.com> Change-Id: Ibd4cc11fb1bb836c76bd4c1935b7aabb55c6896f
2021-05-06input: touchscreen: stm: Report edge and palm touchesandroid-s-beta-2_r0.5android-msm-redbull-4.19-s-beta-2Steve Pfetsch
Map edge, palm, and cancel touches to MT_TOOL_PALM, effectively allowing them to be treated as cancel events. Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: If05a00410b7d7429cb07ff16118151d1064bb87f
2021-04-04Merge android-msm-pixel-4.19-rvc-qpr3 into android-msm-pixel-4.19PixelBot AutoMerger
SBMerger: 351186807 Change-Id: Ideb110840d61912de06324cecf94c98483f3e8be Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2021-03-16touch: fts: cancel offload_resume_work before suspendandroid-11.0.0_r0.95android-11.0.0_r0.86android-11.0.0_r0.115android-11.0.0_r0.105android-11.0.0_r0.100android-msm-redbull-4.19-android11-qpr3Tai Kuo
Put offload_resume_work, resume_work, suspend_work into the same high-priority workqueue. Cancel the resume_work does not cancel the derived delayed work offload_resume_work. Need to cancel offload_resume_work before queue the suspend work. If suspend_work was executed right after the resume_work, __pm_relax in suspend will delete __pm_wakeup_event timer immediately, and hence the offload_resume_work spi_sync work will be blocked forever. Bug: 177551504 Bug: 172556964 Test: test resume then suspend to check offload_resume_work. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I8c050d48f2d2d45fb1a82fb227bb24f915c604e7 (cherry picked from commit 4d794d1ee9d43a00150bf87f10442322d2c572ff)
2021-03-15touch: fts: cancel offload_resume_work before suspendandroid-s-beta-1_r0.5android-msm-redbull-4.19-s-beta-1Tai Kuo
Put offload_resume_work, resume_work, suspend_work into the same high-priority workqueue. Cancel the resume_work does not cancel the derived delayed work offload_resume_work. Need to cancel offload_resume_work before queue the suspend work. If suspend_work was executed right after the resume_work, __pm_relax in suspend will delete __pm_wakeup_event timer immediately, and hence the offload_resume_work spi_sync work will be blocked forever. Bug: 177551504 Test: test resume then suspend to check offload_resume_work. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I8c050d48f2d2d45fb1a82fb227bb24f915c604e7 (cherry picked from commit 4d794d1ee9d43a00150bf87f10442322d2c572ff)
2020-11-20input: touchscreen: stm: Read touch_offload device_id from DTandroid-s-preview-3_r0.5android-s-preview-2_r0.5android-s-preview-1_r0.5android-msm-redbull-4.19-s-preview-3android-msm-redbull-4.19-s-preview-2android-msm-redbull-4.19-s-preview-1Steve Pfetsch
Bug: 172058450 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: If75fd20aebdc90882ff796c3d562836c7ef477a4
2020-10-02Merge android-msm-pixel-4.19-rvc-qpr1 into android-msm-pixel-4.19PixelBot AutoMerger
SBMerger: 325904710 Change-Id: I65554c4ec9d9bfeeab258e4e14469636c01a49b0 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2020-09-29input: touchscreen: stm: improve touch_offload supportSteve Pfetsch
Fully route pressure and major/minor size of touch points, apply routed timestamps, and keep firmware grip closely synced with touch_offload. Additional miscellaneous changes to support updated touch_offload interface. Bug: 167758661 Bug: 168076476 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I937357fe5f5b7fc3c63f255c17d27c231cd3d495
2020-09-28input: touchscreen: stm: fix memory leakandroid-11.0.0_r0.81android-11.0.0_r0.76android-11.0.0_r0.66android-11.0.0_r0.57android-11.0.0_r0.56android-11.0.0_r0.47android-11.0.0_r0.46android-11.0.0_r0.33android-11.0.0_r0.32android-msm-redfin-4.19-android11-qpr1android-msm-redbull-4.19-android11-qpr2android-msm-bramble-4.19-android11-qpr1Steve Pfetsch
Free memory allocated by calls to getMSFrame3 and getSSFrame3. Bug: 169240052 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I204502f08e702417b8879430bd6c414aef2275f5
2020-09-28input: touchscreen: stm: fix memory leakSteve Pfetsch
Free memory allocated by calls to getMSFrame3 and getSSFrame3. Bug: 169240052 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I204502f08e702417b8879430bd6c414aef2275f5
2020-09-24input: touchscreen: stm: improve touch_offload supportSteve Pfetsch
Fully route pressure and major/minor size of touch points, apply routed timestamps, and keep firmware grip closely synced with touch_offload. Additional miscellaneous changes to support updated touch_offload interface. Bug: 167758661 Bug: 168076476 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I937357fe5f5b7fc3c63f255c17d27c231cd3d495
2020-09-12fts: release all fingers for offload caseSuper Liu
Bug: 167758661 Change-Id: I93005492bc203d19bff3191f2e0c63221d5f0ffb Signed-off-by: Super Liu <supercjliu@google.com> (cherry picked from commit 3ffa2f46ca37a9ecd74e8dcc24b7d7ed33baee25)
2020-09-11fts: release all fingers for offload caseSuper Liu
Bug: 167758661 Change-Id: I93005492bc203d19bff3191f2e0c63221d5f0ffb Signed-off-by: Super Liu <supercjliu@google.com>
2020-07-10input: touchscreen: stm: disable firmware grip for touch_offloadandroid-11.0.0_r0.27android-11.0.0_r0.26android-11.0.0_r0.18android-11.0.0_r0.16android-msm-redfin-4.19-android11-d1android-msm-bramble-4.19-android11-d1Steve Pfetsch
Upon resume, issue command to disable grip suppression when the filter_grip config flag is clear. Schedule with a 100ms delay during resume to ensure the command is not missed. Bug: 143723547 Bug: 139955910 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I1db9c9053aa45a655b5322153ab4ccd85a47b3b5
2020-06-24input: touchscreen: stm: export to the touch_offload driverSteve Pfetsch
The touch_offload driver makes it possible for the fts driver to export heatmap and coordinate data to a user space consumer. The fts driver is responsible for initializing the touch_offload driver with information about its supported capabilities. Then, as touch events occur, the fts driver must capture required heatmap/coordinate frames, load it into buffers provided by the touch_offload driver, and submit the buffers back to the touch_offload driver. Finally, the fts driver must report touch input events through a callback provided to touch_offload. Bug: 143723547 Bug: 139955910 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: Ifb154ffa89a71b52d2426caf1486cf63404a4211
2020-06-23input: touchscreen: stm: support sensor inversion in x/y directionsSteve Pfetsch
Change the driver's "sensor_inverted" device tree option y-axis only to both x- and y-axis. Also remove the implicit assumption that sensor is inverted in the x-direction so the default is uninverted. Bug: 159691378 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I8a745a0ee993abe301cc0e23da95a31f4b69fb08
2020-06-17touch:fts: wrap the using of bus_refmask by bus_mutexdavidycchen
Wrap the using of bus_refmask by bus_mutex to prevent it from race condition. Add pm_suspend_during_phone_call flag to avoid bus using when cpu suspends. Bug: 158583096 Test: manually test Change-Id: I463a37bec123a9cedb587e97a3625b747c05fc5d Signed-off-by: davidycchen <davidycchen@google.com>
2020-06-08touch:fts: make spi bus resume before using itdavidycchen
For the new feature "touch palm support proximity sensor", there was a case that touch driver received interruprt during CPU suspended. Thus may cause the touch driver accessed the spi bus before the bus resumed and made spi hang. Disable the interrupt when CPU suspends during phone call and enables it back when the CPU wake up by irq so that the spi bus will be used after the bus driver resumes. Bug: 158262506 Test: Manually test. Change-Id: I5f08817589b69d34507e2781017a3257a421d79f Signed-off-by: davidycchen <davidycchen@google.com>
2020-06-02touch:fts: support touch cancel modedavidycchen
support to report MT_TOOL_PALM type for new cancel mode feature. Bug: 148993292 Test: use test firmware with the new feature. Change-Id: I1a14a219d2c44d4923e4d57ea742620d54b7457a Signed-off-by: davidycchen <davidycchen@google.com>
2020-05-27touch:fts: support prox_palm and touch gesture during phone calldavidycchen
During the phone call, report special proximity palm event for sensor HAL proximity fusion. Bug: 154675013 Change-Id: Ib7a1ecea7e2c7d350c3bfcd31de8d589642a86ed Signed-off-by: davidycchen <davidycchen@google.com>
2020-04-24GKI: touch: fts: Enable modularization of the touch bus negotiator driverHridya Valsaraju
These changes are required for the touch bus negotiator driver to work correctly when CONFIG_TOUCHSCREEN_TBN=m. Test: build, boot, touch works, tapping phone to check notification works. Bug: 154089962 Change-Id: I338fdcd9e82d7d787193042c6bb6268958bd89ce Signed-off-by: Hridya Valsaraju <hridya@google.com>
2020-04-20touch:fts: add command to avoid sensing off before reading rawdatadavidycchen
There would be a sense on force calibration after we set the sensing mode off and on and thus caused the rawdata incorrect. Bug: 154291200 Test: Read touch rawdate correctly. Change-Id: I37b18760c70149a884198abf0524c380b2672df1 Signed-off-by: davidycchen <davidycchen@google.com>
2020-03-25touch:fts: add PI when config version is same as incoming firmwaredavidycchen
If the config config version is same as incoming firmware, the panel is not calibrated in factory. Driver will do PI when this condition happens. Bug: 151910310 Test: Panel is calibrated with PI when config version is same with incoming firmware. Change-Id: I9c9d8fd6010d1ff774a25b40395915020a5def15 Signed-off-by: davidycchen <davidycchen@google.com>
2020-03-25input: touchscreen: stm: Driver Version 5.2.16.14Sivasankari
Adding a dummy I2C Write transaction before any FW Write Command Bug: 151900042 Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: I811fe52a27fdb153922ce715fadd7478178f42a2
2020-03-25touch:fts: avoid null pointer of limit_file namedavidycchen
Let limit_file name to set default value in fts_identify_panel even though fts_read_panel_extinfo fail to read information from display driver. Bug: 152280824 Test: touch works Change-Id: Idb0b02b4f0df87eab6f8439016605ccbb3f3622f Signed-off-by: davidycchen <davidycchen@google.com>
2020-03-23GKI: ANDROID: Fix drivers for wakeup_source_register prototype changeSandeep Patil
The wakeup_source_register() is the only function all wakeup sources must be initiated with starting now. This allows for all wakeup sources to now show up in /sys/class/wakeup/ for userspace to read. This change fixes all current usage of wakeup_source_register() to also add a possible 'struct device' parameter associated with it or use NULL when it doesn't exist. Bug: 129087298 Bug: 151789966 Test: Launch Camera + Take Picture / Record Video Test: Connect to Wifi Network Test: Play Youtube Video Test: USB debugging works Test: Touchscreen / multi touch works Test: Audio playback Test: Battery percentage and power supplies work. Signed-off-by: Sandeep Patil <sspatil@google.com> Change-Id: Ieeead1011f443bb825ff8375a2bf3864eb4f029e
2020-03-18GKI: ANDROID: Replace wakeup_source_init w/ wakeup_source_registerSandeep Patil
This replacement allows for all drivers to have their wakeup sources show up in /sys/class/wakeup. Starting with Android 12 all wakeup sources are read out of sysfs (instead of the old debugfs path). Bug: 129087298 Bug: 151789966 Test: Launch Camera + Take Picture / Record Video Test: Connect to Wifi Network Test: Play Youtube Video Test: USB debugging works Test: Touchscreen / multi touch works Test: Audio playback Test: Battery percentage and power supplies work. Signed-off-by: Sandeep Patil <sspatil@google.com> Change-Id: Id03cf07c9271b4a54318908ab881adfed65da653
2020-03-18GKI: ANDROID: Stop using the obsolte wakeup_source_trash() APISandeep Patil
Bug: 151789966 Test: Build, boot and use bramble Signed-off-by: Sandeep Patil <sspatil@google.com> Change-Id: I62a0109f24aac4dcfc8b90877f6d7adf1f1e708f
2020-03-09touch:fts: driver support to decode golden mutual data errordavidycchen
Add golden mutual data error type in driver. Bug: 150352339 Test: driver could report golden mutual data error. Change-Id: I1c9755219fa7a8d703a48b9d225ed1d371b5a679 Signed-off-by: davidycchen <davidycchen@google.com>
2020-03-05input: touchscreen: stm: pinctrl feature on resume/suspendTai Kuo
pinctrl implementation for touch driver resume and suspend Bug: 129371541 Change-Id: Ife05efc7d9dfa2d82e0d1ce87260e0397504cc85 Signed-off-by: Tai Kuo <taikuo@google.com>
2020-02-11touch:fts: Enable noise log when the touch scanning frequency changeddavidycchen
Enable noise log for helping engineer debug issues. Bug: 149259238 Test: There are related logs when the scanning frequency changed. Change-Id: I781234debc3a22b85dab4e78aabbc39c706c17d1 Signed-off-by: davidycchen <davidycchen@google.com>
2020-02-04touch:fts: set firmware name and limit file to default when parse panel info ↵davidycchen
failed The limit file path may be null if there is some error when touch driver fail to get panel information while booting. This caused kernel panic as the bug below. Bug: 147653504 Test: Add debug patch to set path=NULL and check if adding this patch could avoid ramdump. Change-Id: I053519ef52e84888a286b42c15922c93fdbb94f1 Signed-off-by: davidycchen <davidycchen@google.com>
2020-01-07touch:fts: fix touch driver issue when there is no panel connecteddavidycchen
Follow the change of drm/drm_panel.c. of_drm_find_panel will return ERR_PTR(-EPROBE_DEFER) instead of NULL when it fail to find a matching panel. Test: touch driver will exit if there is no panel connected. Bug:146907583 Change-Id: Idd1692cacaf5f7084f0293fd6b0bbc3120941a73 Signed-off-by: davidycchen <davidycchen@google.com>
2020-01-03touch:fts: remove dummy function.davidycchen
The function is only used for porting stage. The definition of dsi_panel_read_vendor_extinfo is defined in dsi_panel.c Change-Id: I5abab7e8c8ffa1e102a841b59eae0c3b3cc63a19 Signed-off-by: davidycchen <davidycchen@google.com>
2019-12-30Merge "touch: fts: change msm_drm_notifier to drm_panel_notifier" into ↵David Chen
android-msm-pixel-4.19
2019-12-26Revert "GKI: touch: fts: Enable I2C_Interface define"Will McVicker
This reverts commit e99d4bb25a331ac42e7c6c78c278b8f7dcbed591. Change-Id: I0f917ba5e0252339399d1b83b5142dbc33351f20 Signed-off-by: Will McVicker <willmcvicker@google.com> Bug: 144451015 Test: verified touch works on boot
2019-12-26touch: fts: change msm_drm_notifier to drm_panel_notifierdavidycchen
Follow the change of SM7250 LA1.0 Pre-CS4 AU037 in display msm/sde/sde_kms.c Bug: 146848642 Test: touch driver can run suspend/resume sequence triggered by drm_panel_notifier. Change-Id: I185ceda4f4c0f737548471557b670b56e5721a33 Signed-off-by: davidycchen <davidycchen@google.com>
2019-12-13input: touchscreen: stm: Driver version 5.2.16.13Sivasankari
ITO test item update to use individual min/max limit for each node Bug: 146186706 Test: Run the new test item and pass the test. Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: I1ade56b888a27590d83690d985fd563aac7a3706
2019-12-04touch:fts: enable TOUCHSCREEN_HEATMAPdavidycchen
Enable TOUCHSCREEN_HEATMAP feature in fts touch driver. Bug: 139783401 Change-Id: Ie41d0acf801ce7130893ea897cc091c95da0c999 Signed-off-by: davidycchen <davidycchen@google.com>
2019-12-04touch:fts: modify read_heatmap_raw signaturedavidycchen
To remove the vla(variable-length arrays) used in heatmap driver, we modify the signature of read_heatmap_raw function. Bug: 139783401 Test: Use v4l-heatmap-viewer.apk(provided in bug) to check touch heatmap is workable. Change-Id: I68284417bc3ea7123434eb7d610ac5991d7dbb20 Signed-off-by: davidycchen <davidycchen@google.com>
2019-12-03Merge remote-tracking branch 'partner/android-msm-pixel-4.19-gki-dev' into HEADWill McVicker
Test: build, boot bramble, verify list of probed devices Test: sanity test wlan, BT, audio/video playback Change-Id: I1867c3fa2ae74dbcd3792fbd699bb6ae3d15e672 Signed-off-by: Will McVicker <willmcvicker@google.com>
2019-11-13GKI: touch: fts: Enable I2C_Interface defineWill McVicker
This is required in order for the touchscreen to work on bramble. Signed-off-by: Will McVicker <willmcvicker@google.com> Fixes: 144451015 Test: build, boot bramble, verify touch works Change-Id: I3149746566237a253c2bde1e65bc31ae0d426447
2019-11-13GKI: touch: fts: update license to use GPL v2Will McVicker
This is required. Signed-off-by: Will McVicker <willmcvicker@google.com> Test: build Change-Id: I84e2654e7385b17de392254409c7199721f42dcf
2019-10-23touch:fts: Enable CONFIG_DRM for power sequencedavidycchen
am: 40e2fd366f Change-Id: Ibc74e5088e34bae611559453ad8a5f93ef072214
2019-10-23touch:fts: add a macro for display dynamic refresh ratedavidycchen
am: 46099eecb2 Change-Id: Ieb9ae57a3f93d239e09df0be63fad9964243b036
2019-10-23touch:fts: Enable CONFIG_DRM for power sequencedavidycchen
Bug: 140840272 Test: touch driver can run suspend/resume sequence triggered by drm notifier. Change-Id: I19c604f7bb23aed5d7f40bbae616afd49aaaeb0d Signed-off-by: davidycchen <davidycchen@google.com>
2019-10-23touch:fts: add a macro for display dynamic refresh ratedavidycchen
Because dynamic refresh rate feature is not supported for all projects, it may cause build break when touch driver uses the variable. Bug: 143114507 Change-Id: I5616b2e010ea794b93915d0028f9403f7c3b9b33 Signed-off-by: davidycchen <davidycchen@google.com>
2019-10-23input: touchscreen: stm: implement timestamp api in fts driverAtif Niyaz
am: 29e811c1cb Change-Id: I1054cf880fa0c5e849d049ff6b1950858ae79a06
2019-10-23input: touchscreen: stm: implement timestamp api in fts driverAtif Niyaz
Change-Id: I4e0087386691c8bf17e29eac831bacf8fd57dd5b Signed-off-by: atifniyaz@google.com Bug: 119840121