summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-07touch: fts: fix build break when interface changesdavidycchen
am: 600cbf2580 Change-Id: I2c7bb90457e9e15e20002522917d41731a97c30b
2019-10-05touch: fts: fix build break when interface changesdavidycchen
Change bus interface from SPI to I2C will build break. Bug: 142166340 Change-Id: I1be6c183005cc163bb131dac82460b271b8261a5 Signed-off-by: davidycchen <davidycchen@google.com>
2019-09-30input: touchscreen: stm: Driver version 5.2.16.12 Option to read Filter raw ↵Sivasankari
data new API to know the status of the Info block am: eb9dce5460 Change-Id: I359f0a06fe76091d0c76883a9480ff7dc45137a8
2019-10-01input: touchscreen: stm: Driver version 5.2.16.12Sivasankari
Option to read Filter raw data new API to know the status of the Info block Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: Ibc098031740716c2b5314a5faea6139ca5f7344f
2019-09-26touch:fts: print the sensor node while FATP test faildavidycchen
am: 6873e1f341 Change-Id: I7999e2fe086778d52dfa801bb23cf02d4fe21144
2019-09-27touch:fts: print the sensor node while FATP test faildavidycchen
Print the failed sensor routing node in the FATP ITO test Bug: 141721123 Change-Id: I19f9d5908029bc01a1cafe3e367e567457a70922 Signed-off-by: davidycchen <davidycchen@google.com>
2019-09-23touch:fts: Fix -Wunused-variable warningsChenglu Lin
am: 7f16a8546f Change-Id: Iaa124362bf9514fa607d31d8a75b8e7310c3f938
2019-09-23touch:fts: Fix -Wunused-variable warningsChenglu Lin
Bug: 141372918 Change-Id: I8826607f1aaf5b54c05f9fecfa96b93acd1b5847 Signed-off-by: Chenglu Lin <chenglulin@google.com>
2019-09-16touchscreen:fts: add heatmap configdavidycchen
Add heatmap config for no heatmap driver situation. Bug: 138816997 Change-Id: I6f018aefd6751cd57f271c782f165e947bef91f9 Signed-off-by: davidycchen <davidycchen@google.com>
2019-09-16touchscreen:fts: fix build breakdavidycchen
dsi_panel_read_vendor_extinfo is used in c2f2 dsi_panel driver. Skip this function first for bring up. Will revert this commit after dsi_panel driver ready. Bug: 138816997 Change-Id: Ib5dec6e58622fcfac23ab036bbb99a1362766e29 Signed-off-by: davidycchen <davidycchen@google.com>
2019-09-16touchscreen:fts: add CONFIG_DRM in touch driverdavidycchen
Add CONFIG_DRM flag in touch driver. Undefine CONFIG_DRM first for bring up stage. Bug: 138816997 Change-Id: Icc3b35317018a59fdae2c9701c03306335f28ccb Signed-off-by: davidycchen <davidycchen@google.com>
2019-09-16touchscreen:fts: fix variable length array useddavidycchen
Bug: 138816997 Bug: 138817231 Change-Id: I29ea5750e4cd063c339730f847fded560a97685c Signed-off-by: davidycchen <davidycchen@google.com>
2019-09-05Merge branch partner-drops-b5s5 into r-dev-msm-pixel-4.19davidycchen
Bug: 138816997 Change-Id: I043714e646112b7e71c657755496a69e71b55065
2019-09-05input: touchscreen: stm: Driver version 5.2.16.11Sivasankari
Added new production test item for ITO data evaluation Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: If3b1400c2a1bdf1349849ab5ff486acf9bfa4b59
2019-09-05input: touchscreen: stm: Driver version 5.2.16.10Sivasankari
update in production test items Modification in FPI/PI initialization SPI4 setting change Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: Id0646c576cefd1c3e444bdce27bcb2ee0ebf120a
2019-09-04input: touchscreen: stm: Driver Version 5.2.16.9Sivasankari
Added Support for B5/S5 projects, update in the Dchip id, Change in the DMA chunk size Added Support for Flash organization change FW API update for Echo Status event, firmware Event truncated to 4 bytes, Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: I50909b4966b6190f6fd2549564276902fe3bf131
2019-08-21input: touchscreen: stm: Remove input_event calls for MSC_TIMESTAMPAtif Niyaz
Context: With the potential new API change to timestamp, it isn't necessary anymore to use the input_event call for MSC_TIMESTAMP. Bug: 139785163 Bug: 119840121 Change-Id: I3bf5f0e6deb7be032155544b30d2994de124ae1e Signed-off-by: atifniyaz@google.com
2019-08-21input: touchscreen: stm: Update usages of timestamp to use ktime_tAtif Niyaz
Bug: 119840121 Bug: 139785163 Change-Id: I98d073c72b2bd52563da9447679afa807fdd0a3e Signed-off-by: atifniyaz@google.com
2019-08-21input: touchscreen: stm: remove extraneous work queue flushSteve Pfetsch
There is an unconditional flush of the suspend/resume work queue in the screen state callback from the display driver. There is no need to immediately flush the queue since any pending suspend/resume work will be canceled or completed before the next suspend/resume is queued. Bug: 139785163 Bug: 137754842 Change-Id: Ibe26f057c5ff942b975710af43f40bf104f97917 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-07-30Fixup array1dTo2d and print utilities.android-10.0.0_r0.21android-10.0.0_r0.16android-10.0.0_r0.14android-msm-coral-4.14-android10-c2f2Harpreet "Eli" Sangha
- The mananer in which handled nonzero rows and zero columns were incompatible, resulting field crash. - There was no handling of malloc failures. Bug: 138535981 Test: Run Dumpstate commands. Change-Id: Iaf3fbf9377ab9da519f759015b4493f0e35e6836 Signed-off-by: Harpreet "Eli" Sangha <eliptus@google.com>
2019-07-05input: touchscreen: fts: correct the max coordinatesSuper Liu
Bug: 136781155 Change-Id: Ia1c25bc8a24dd4f94b9925ed6f25f37af3838b69 Signed-off-by: Super Liu <supercjliu@google.com>
2019-06-26input: touchscreen: fts: procfs read/write do not acquire lockSteve Pfetsch
The mutex behavior made it possible for the one client with access to the procfs node (/proc/fts/driver_test) to fail read/write/lseek/release if another client is attempting to open the node. Even worse, if the client cannot acquire the lock during release, it will fail to clean-up its ownership of the node and the node will become inaccessible. Instead, rely on the initial lock in fts_driver_test_open to guarantee there will only be one client using the other entry points and therefore they do not need locking. Bug: 136024296 Change-Id: I63a2c2addf54a9570a5677e64b0002d40e623d40 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-06-25input: touchscreen: fts: reduce golden mutual buffer to required lengthSteve Pfetsch
The line that computed the length of the golden mutual raw data formatted for output over procfs was longer than necessary. Shorten to the correct length. Bug: 136021057 Change-Id: I3bbc015607db1adbd86561159312f4aa479dde60 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-06-18input: touchscreen: stm: reduce log spam and flag undecoded statusSteve Pfetsch
Demoted noise messages to pr_debug. In order to catch future undecoded status events, explicitly indicate "unknown" in default status handling. Bug: 133451980 Change-Id: Ib396446b2278300378768aad730fa1ad8e4aaa5f Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-06-18Merge partner-drops-c2f2 into android-msm-floral-4.14Steve Pfetsch
Merge List: * 6183607 input: touchscreen: stm: Driver version 5.2.16.8 Bug: 133451980 Change-Id: Ia7d228e0db008b76fd1f701b95f89ef42746e032 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-06-12input: touchscreen: fts: reduce timeout waiting for FIFO flush echoSteve Pfetsch
In some cases, the flushFIFO command waits for 5s for completion, times out, then repeats the command and wait two more times. This can result in a total of 15s delay at a time when the touch IC appears to be unresponsive during suspend, so drastically shorten the echo delay to 50ms per attempt. This does not solve the underlying problem but should improve the user experience when it does occur. Bug: 134638807 Change-Id: I4d58020170009dd1a241f73d19047ac7e1786400 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-06-05input: touchscreen: stm: resolve flushFIFO() failed with messy eventsSuper Liu
Somehow there is the corner case will fill fifo with coordinate events by palm or intentional trick. Therefore, add fts_system_reset() to back touch IC original state before flushFIFO() will eliminate this error. Error logs: [17304.432940] [ FTS ] fts_mode_handler: Sense OFF! [17304.433165] [ FTS ] writeSysCmd: Command = A4 00 01 [17304.433172] [ FTS ] writeSysCmd: Writing Sys command... [17304.442835] [ FTS ] READ EVENT = 23 11 00 D3 68 2A A4 00 [17304.462823] [ FTS ] READ EVENT = 27 11 FB D2 67 35 49 01 [17304.463047] [ FTS ] READ EVENT = 43 09 00 01 0B 00 00 00 (repeated...) [17309.422950] [ FTS ] READ EVENT = 27 11 CA 82 5F 31 79 00 [17309.432665] [ FTS ] pollForEvent: ERROR 80000007 [17309.432691] [ FTS ] checkEcho: Echo Event not found! ERROR 80000007 [17309.435183] [ FTS ] READ EVENT = 27 11 CE E2 63 36 79 00 [17309.442940] [ FTS ] READ EVENT = 27 11 D7 02 68 36 7A 00 [17309.452998] [ FTS ] READ EVENT = 27 11 E1 92 6B 36 7A 00 (repeated...) [17314.403044] [ FTS ] READ EVENT = 27 01 18 73 5C 43 8F 00 [17314.413038] [ FTS ] READ EVENT = 27 01 08 03 5A 45 8F 00 [17314.423336] [ FTS ] READ EVENT = 27 01 E0 F2 56 3F 8E 00 [17314.433094] [ FTS ] pollForEvent: ERROR 80000007 [17314.433120] [ FTS ] checkEcho: Echo Event not found! ERROR 80000007 [17314.435619] [ FTS ] READ EVENT = 27 01 9B 12 53 38 8E 01 [17314.436020] [ FTS ] READ EVENT = 27 01 45 D2 4E 31 8D 00 [17314.446245] [ FTS ] READ EVENT = 27 01 EA A1 4A 27 2B 00 (repeated...) [17319.532793] [ FTS ] READ EVENT = 27 01 E9 41 4A 40 9C 00 [17319.546992] [ FTS ] READ EVENT = 2B 01 20 A2 4D 5D 02 01 [17319.547173] [ FTS ] READ EVENT = 2B 01 44 E2 4F 6C 02 00 [17319.555906] [ FTS ] pollForEvent: ERROR 80000007 [17319.555917] [ FTS ] checkEcho: Echo Event not found! ERROR 80000007 [17319.557926] [ FTS ] fts_writeFwCmd: check echo ERROR 800E0007 [17319.557934] [ FTS ] writeSysCmd: ERROR 800E0007 [17319.557941] [ FTS ] flushFIFO: ERROR 800E0007 Bug: 134185999 Change-Id: Ide67ce1f5f360d72437ba07f983ba71513f309bd Signed-off-by: Super Liu <supercjliu@google.com>
2019-06-05input: touchscreen: stm: resolve NOC_ERROR for SPI I/O during suspendSuper Liu
flushFIFO() in suspend work use pollForEvent() with msleep to complete. Therefore, keep stay awake to avoid device suspend and additional check senser_sleep for pm suspend. Bug: 134046469 Change-Id: Ie87db22530063e193ee9094ae7876338f2a1689f Signed-off-by: Super Liu <supercjliu@google.com>
2019-05-30input: touchscreen: stm: Driver version 5.2.16.8Sivasankari
Kernel log info updated to decode the events Signed-off-by: Sivasankari <Sivasankari.muthusamy@st.com> Change-Id: I75242527a6affa44f07e838b790c45ae3a090b9d
2019-05-29Merge android-msm-floral-4.14 into partner-drops-c2f2Steve Pfetsch
Change-Id: I76e7561137cad7df9169d9912eb9ec5ed025f942 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-05-21input: touchscreen: stm: flush the FIFO before suspendSteve Pfetsch
fts_suspend_work runs while holding the bus_mutex, which prevents the interrupt handler from running and using the bus as the touch driver suspends. Once fts_suspend_work disables touch sensing, the touch IC generates a status event and pulls down its INT line, but the driver disables interrupt handling and does not have an opportunity to handle the event before suspending. Since the event is expected and harmless, flush the touch IC's FIFO after interrupts are disabled. Bug: 128865249 Change-Id: Ib2a14cfc407793d0989bbef0068f389945493386 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-05-17input: touchscreen: stm: refuse to suspend if touch bus is in useSuper Liu
Normally, touch driver use display notifier(MSM_DRM_EVENT_BLANK and MSM_DRM_EARLY_EVENT_BLANK) with bus reference mask(*) to trigger suspend and resume. Somehow system will enter deep sleep without MSM_DRM_BLANK_POWERDOWN and MSM_DRM_BLANK_LP to suspend touch. Therefore, register pm suspend/resume to correct report current touch driver state. * Bits for the bus reference mask enum { FTS_BUS_REF_SCREEN_ON = 0x01, FTS_BUS_REF_IRQ = 0x02, FTS_BUS_REF_FW_UPDATE = 0x04, FTS_BUS_REF_SYSFS = 0x08, FTS_BUS_REF_FORCE_ACTIVE = 0x10 } Bug: 131944527 Change-Id: I3b673536a787a71976d8f8a13e10720c18b1908f Signed-off-by: Super Liu <supercjliu@google.com>
2019-05-16input: touchscreen: stm: add heatmap off modeSuper Liu
Bug: 132609975 Change-Id: Id5ba3fc5daa0547a28264c38dce17e1b480dfbfc Signed-off-by: Super Liu <supercjliu@google.com>
2019-05-06Merge "input: touchscreen: stm: remove excessive delays from pollForEvent" ↵Steve Pfetsch
into android-msm-floral-4.14
2019-05-03input: touchscreen: stm: remove excessive delays from pollForEventSteve Pfetsch
pollForEvent is designed to consume events from the touch IC until a desired event is received, but it incorrectly waits between all read operations regardless of how many events are queued in the FIFO. Instead, read continuosly while the touch IC is responsive and it is not reporting that the FIFO is empty. Bug: 131922554 Change-Id: Id1cfc83ab2bec9dafa6460d0d142b52fb353c838 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-04-30input: touchscreen: stm: silence some log spamSteve Pfetsch
Display refresh rate is now switching dynamically, causing the touch driver to print these three lines frequently: [ FTS ] Refresh rate changed to 60 Hz. [ FTS ] fts_screen_state_chg_callback: UNBLANK [ FTS ] fts_set_bus_ref: reference is unexpectedly set: mask=0x0001, ref=0x0001, enable=1. Bug: 129716641 Bug: 131714407 Change-Id: I52b8a8d2f4d83bfa174b0bdf14b0bac316b675b0 Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-04-29Merge branch 'partner-drops-c2f2' into android-msm-floral-4.14Super Liu
Merge List * 538f0ded input: touchscreen: stm: Driver version 5.2.16.7 * c4619736 input: touchscreen: stm: Driver version 5.2.16.6 * d1f0ddf9 Merge android-msm-floral-4.14 into partner-drops-c2f2 Change-Id: I5097dcc2e379958ca81f55989178dc48d3e17ed6 Signed-off-by: Super Liu <supercjliu@google.com>
2019-04-29input: touchscreen: stm: Driver version 5.2.16.7SalvatoreLaMalfa
fixed missing AFE version check in case of Panel Cfg area CRC error Signed-off-by: Sivasankari Muthusami <sivasankari.muthusamy@st.com> Change-Id: I138a30217bfde4e2f75ee45694bd502f089304ca
2019-04-25input: touchscreen: stm: Driver version 5.2.16.6Sivasankari Muthusamy
Kernel log for status events are updated in file fts.c Signed-off-by: Sivasankari Muthusamy <sivasankari.muthusamy@st.com> Change-Id: I9a55b23e1e63823297aa7ce5acc7cd301b666692
2019-04-25input: touchscreen: stm: fix KASAN panic during capture bugreportSuper Liu
Bug: 130922273 Test: Check below test items with kasan built. BUILD_CONFIG=private/msm-google/build.config.kasan ./build/build.sh - adb bugreport - echo -n 23 00 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo 23 00 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo -n 23 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo 23 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo -n 08 stm_fts_production_limits_c2.csv > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo 08 stm_fts_production_limits_c2.csv > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo -n 08 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo 08 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo -n 08 > /proc/fts/driver_test ; cat /proc/fts/driver_test - echo 09 > /proc/fts/driver_test ; cat /proc/fts/driver_test Change-Id: I1d688cadbe04768a9c04e07ef92ca776d0159834 Signed-off-by: Super Liu <supercjliu@google.com>
2019-04-23Merge android-msm-floral-4.14 into partner-drops-c2f2Steve Pfetsch
Change-Id: Ie5f3572141e0cc76c5bba645e4af8bb9f5463efb Signed-off-by: Steve Pfetsch <spfetsch@google.com>
2019-04-12input: touchscreen: fts: Handle stimpad status event.Biswajit Dash
Stimpad status events were hitting the default case in the fts_status_event_handler() and printed using error verbose as an unhandled status event. This change adds a new case to handle the stimpad event id and print them using info verbose. Bug: 129855432 Change-Id: I70c0e5434398384fca39caf48ef6d00a3266b0e3 Signed-off-by: Biswajit Dash <bisdash@google.com>
2019-04-12Merge partner-drops-c2f2 into android-msm-floral-4.14Harpreet "Eli" Sangha
Bug: 129723288 Test: C2 FW change between v9 and v11. F2 FW change between v13.31 and v14.3 adb shell "echo 16 > /sys/class/spi_master/spi1/spi1.0/stm_fts_cmd ; cat /sys/class/spi_master/spi1/spi1.0/stm_fts_cmd" adb shell "echo 33 12 > /proc/fts/driver_test ; cat /proc/fts/driver_test" adb shell "echo 33 13 > /proc/fts/driver_test ; cat /proc/fts/driver_test" Change-Id: I759a315b614de9795e3d47091d0e897c356f4f54 Signed-off-by: Harpreet "Eli" Sangha <eliptus@google.com> Signed-off-by: Super Liu <supercjliu@google.com>
2019-04-11input: touchscreen: stm: stay awake during force touch activeSuper Liu
This is only used for dogfood debugging and factory validation. Bug: 130283593 Change-Id: I3da83f80216ebca47195fc12f157b587e700d673 Signed-off-by: Super Liu <supercjliu@google.com>
2019-04-08input: toucscreen: stm: Driver version 5.2.16.5SalvatoreLaMalfa
Enabling the readout for production timestamp value and Self compensation Ix0 values Checkecho() function is updated to choose different timeouts for FPI and other events and those timeout values are updated accordingly in fts_time.h Change-Id: I4201fdb8e0dee84e222ca392443c661ef6e24254 Signed-off-by: Sivasankari Muthusamy <sivasankari.muthusamy@st.com>
2019-04-03Merge "input: touchscreen: fts: support to dump Golden Mutual Raw Data" into ↵Biswajit Dash
android-msm-floral-4.14
2019-03-29input: touchscreen: stm: support diag commands on last token with newlineSuper Liu
Bug: 120141999 Bug: 120141031 Bug: 120279144 Change-Id: Ic73b97bd66b9edc76c1624ed3c43e56fbceed537 Signed-off-by: Super Liu <supercjliu@google.com>
2019-03-28input: touchscreen: fts: support to dump Golden Mutual Raw DataBiswajit Dash
Added support in fts proc fs to dump Golden Mutual Raw data. 'echo 34 > /proc/fts/driver_test' will prepare the data in driver 'cat /proc/fts/driver_test' will dump the data on terminal. Bug:128437605 Change-Id: Id95cb3c374cf65aa9d9043c9421f64b655eba857 Signed-off-by: Biswajit Dash <bisdash@google.com>
2019-03-27input: touchscreen: stm: keep wake-up 3 secs for factory run-in testSuper Liu
For factory touch run-in test(ITO), driver needs I/O read and write by SPI bus after screen-off. Therefore, when force touch active is triggered by sysfs, keep wake-up to avoid into deep suspension for later SPI communication. Bug: 123489319 Change-Id: Iac6afea5b89c262de2280f7abbd26f007cb9a964 Signed-off-by: Super Liu <supercjliu@google.com>
2019-03-27input: touchscreen: stm: support to modify motion filter modeSuper Liu
In current design, the motion filter will be changed dynamically for heatmap feature. But, for robot test validation, it needs to fall back to FW default motion filter without change. Bug: 121266276 Change-Id: I5c57a3aa806c60f2b5057bed0c6a97bd34fe3b47 Signed-off-by: Super Liu <supercjliu@google.com>