Commit-Graf

98 Incheckningar

Upphovsman SHA1 Meddelande Datum
Sayantan Majumder
7d31f1b40b touchs: Adding synchronization for interrupt handling
Depending on the device state, adding proper synchronization for
interrupt handling.

Change-Id: Id7cbbb02f1b06bd01fe66a208b6484a415e90b14
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-10-17 00:45:50 +05:30
Srikanth Katteboina
704b21a096 touch: Fix L29 is OFF in TWM
Add the shutdown callback() in i2c_driver struct.
Keep both regulators should be turn off in release sequence.

Change-Id: I82fb31a786ae7ff867b6727eb6fb5991842951a4
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-10-17 00:38:34 +05:30
Srikanth Katteboina
d02718230b touch: irregular count on deep sleep feature
regulator count would be increment 1 for enable() and get decrement 1
for every disable().

Change-Id: I7c40e6363e1ffba035ab4b71e780856bcabbdc87
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-10-17 00:34:21 +05:30
Srikanth Katteboina
acf59ba335 touch: Fix L29 is ON in TWM
Add the regulator_set_load() in pt_release().
Keep both regulators by using regulator_set_load API's
should be turn off in release sequence.

Change-Id: Ie041e7f8e666d1dae1d7a4e958e92ae8dcc32699
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-10-17 00:30:45 +05:30
Srikanth Katteboina
bd6a84f669 touch: Fix Touch_to_wake during RBSC mode
Calling enable_irq_wake() causes suspend_device_irqs() to treat the
given IRQ in a special way.the IRQ remains enabled, by on the first
interrupt it will be disabled, marked as pending and "suspended"
so that it will be re-enabled by resume_device_irqs()
during the subsequent system resume.

Change-Id: Id129a8b4e0eddc07000793986b119a0a7b5530ef
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-10-17 00:23:50 +05:30
Surya Teja Kudiri
7e6fdfcf0e touch: Add the IRQF_NO_SUSPEND flag
Add the IRQF_NO_SUSPEND flag in requested_thread_irq().
Enable Touch_to_wake feature during RBSC mode.

Change-Id: I7999b521bd88f4b92341eaa07ba6ed7a2d692132
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-10-17 00:13:59 +05:30
Anand Abhishek
a3036855e2 touch: pt: Suspend using debugfs
Enablement of debugfs manual POWER mode suspend for touch

Change-Id: I21c20f07b89db5135e43373ef0eaa2d76d26d6ef
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
Signed-off-by: Anand Abhishek <quic_anandabh@quicinc.com>
2022-10-10 02:17:57 -07:00
Anand Abhishek
a362b27156 touch: pt: Add default log level
Change the log level from Maximum to default.

Change-Id: I61efe9747e18d8f1775a385cfb9187a1e5153a30
Signed-off-by: Zhenbin Tan <quic_zhentan@quicinc.com>
Signed-off-by: Anand Abhishek <quic_anandabh@quicinc.com>
2022-10-10 02:17:53 -07:00
Anand Abhishek
85f841d111 touch: pt: deep sleep feature
Enabled deep sleep feature for pt touch sensor.

Change-Id: If598192b2e1fc3535c4f9c9e0a6c56bd712af005
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
Signed-off-by: Anand Abhishek <quic_anandabh@quicinc.com>
2022-10-10 02:17:49 -07:00
Anand Abhishek
9ec2c285b6 touch: pt: disable power off feature
enable touch to wake feature for all power modes.

Change-Id: Ic12fb06cb3d436d41f373f57eaee91c5f20a11eb
Signed-off-by: Srinu Gorle <quic_sgorle@quicinc.com>
Signed-off-by: Anand Abhishek <quic_anandabh@quicinc.com>
2022-10-10 02:17:44 -07:00
Anand Abhishek
9837fef63e touch: pt: set active current
Set required current loads to LDO's for active and RBSC modes.

Change-Id: Ia4f338c6ca8fdaa981cd7dda959ac887b2fd4fbc
Signed-off-by: Srinu Gorle <quic_sgorle@quicinc.com>
Signed-off-by: Anand Abhishek <quic_anandabh@quicinc.com>
2022-10-10 02:17:40 -07:00
Anand Abhishek
b29e79f702 touch: pt: cancel all pending works
In some scenarios, back to back suspend and resume calls causing
concurrency issues. This change cancel pending queued works before
executing current task.

Change-Id: I1c0971b68a08a4c634767ea1bb6d783f495a1093
Signed-off-by: Srinu Gorle <quic_sgorle@quicinc.com>
Signed-off-by: Anand Abhishek <quic_anandabh@quicinc.com>
2022-10-10 02:17:33 -07:00
Zhenbin Tan
34a4271847 touch: device exit TWM probe fail
When device exit TWM mode, poweron init wait for
reset timeout, casue probe fail, add probe retry.

Change-Id: I2b323eb57cd04bfcc64f136a389b0af49f8b0162
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
2022-10-10 02:17:26 -07:00
Sayantan Majumder
78f5b6be0d touch: Adding default logging level
Updating the logging level to default from maximum

Change-Id: I25f822350d71e7349b9bc6337d754115d8fe0af1
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
2022-10-10 02:17:21 -07:00
Srinu Gorle
c54d687364 touch: Add workqueue for suspend
Added work Queues to handle suspend functionality.

Change-Id: I1a7799056cd31d29b36172b5a0c509c9f6312dcd
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
2022-10-10 02:17:16 -07:00
Srinu Gorle
9fbc77acce touch: Fix easywake and suspend concurrencies
If target already in easywake on mode then power suspend is
getting skipped. Corrected state checks in power suspend to
allow suspend on top of easywake.

Change-Id: I64decc54c4b6f0d7b15a4f687bf25ceb42150549
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
2022-10-10 02:17:08 -07:00
Srinu Gorle
55fb326d70 touch: disable both LDO29 and LDO21 regulators
Enable and disable both LDO29 and LDO21 regulators during power suspend
and resume sequence.

Change-Id: I9e5058d6191d536bc80d5b59aa23a5dac9c9babb
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
2022-10-10 02:00:44 -07:00
Srinu Gorle
0bc0c0ab12 touch: configure regulators individually
added support to configure touch regulators individually

Change-Id: Ie0fea5717e6f0ecedcb52f38cd7985922ca0243c
Signed-off-by: Sayantan Majumder <quic_smajumde@quicinc.com>
2022-10-10 02:00:14 -07:00
qctecmdr
8988644ee3 Merge "touch: offload fw boot up to workqueue" 2022-10-10 00:25:41 -07:00
qctecmdr
a069f1dfd0 Merge "touchscreen: raydium: Lower log level" 2022-09-29 05:31:12 -07:00
Sachin Kumar Garg
a6675f0aee touch: offload fw boot up to workqueue
touch faststartup is consuming more than 700ms during power on,
created workqueue to handle touch firmware boot up sequence.

Change-Id: I67a288f41001052e5dcdb2ed465055b3a23d3233
Signed-off-by: Sachin Kumar Garg <quic_sachinku@quicinc.com>
2022-09-28 23:42:16 -07:00
Sachin Kumar Garg
13fe897650 touch: fix suspend resume issues
run time suspend and rum time resume used for DRM events callbacks,
which is updating suspend and resume count incorrectly.
Added workQueue support to avoid executing logic in
DRM event callback handler.

Change-Id: I2985fb83aec5a72a0b9a604b424c4f06bfc06956
Signed-off-by: Sachin Kumar Garg <quic_sachinku@quicinc.com>
2022-09-28 23:41:48 -07:00
Sachin Kumar Garg
36097dc556 touch: Enabling Touch-to-Wake when AOD off
Enablement of Touch to Wake when contextual mode is off.

Change-Id: I94df963268daae4c50798c43fcb7c151bb2b0186
Signed-off-by: Sachin Kumar Garg <quic_sachinku@quicinc.com>
2022-09-28 23:41:26 -07:00
Sachin Kumar Garg
9beefc5e6f touch: Correct return codes for S/R
Adding correct condition of return codes for
core suspend and resume.

Change-Id: I6b9bf0fa1032f2d717535c48ec5e3ba5711b7d90
Signed-off-by: Sachin Kumar Garg <quic_sachinku@quicinc.com>
2022-09-28 23:41:07 -07:00
Sachin Kumar Garg
01206d278d touch: Correct handling of core suspend issue
Added correct handling of return codes and retrying for successful
core suspend.

Change-Id: I1c8f19fa55f5d51b5195242fb308f59f08330789
Signed-off-by: Sachin Kumar Garg <quic_sachinku@quicinc.com>
2022-09-28 23:40:42 -07:00
Sachin Kumar Garg
c12b22927b touch: Inclusion of wakeup key
Adding of wakeup key to wakeup the system during
touch after the display goes to ambient mode.

Change-Id: Ieceb63b093016eda71e1e053ccddce93bdf65447
Signed-off-by: Sachin Kumar Garg <quic_sachinku@quicinc.com>
2022-09-28 23:39:54 -07:00
qctecmdr
4905b5fd5e Merge "touch: Request firmware from userspace" 2022-09-27 21:45:21 -07:00
qctecmdr
8c92bcbbeb Merge "touch: goodix: Remove duplicate reset operation" 2022-09-27 21:45:21 -07:00
qctecmdr
6ad2b040d9 Merge "touch: Setting up of DRM notifier" 2022-09-27 21:45:21 -07:00
qctecmdr
0de2c30d0a Merge "touch: qts: handle errors in touch_abort case" 2022-09-27 21:45:21 -07:00
Yu Wu
bd4d865d2d touch: goodix: Remove duplicate reset operation
In power_on function, it already contain reset operation,
so no need to do reset again after power_on, to save time
when do resume operation.

Change-Id: Iba0c5a666b3e25df1e85afa6d5812666ce273922
Signed-off-by: Yu Wu <quic_zwy@quicinc.com>
2022-09-23 14:09:15 +08:00
ppadasal
6414fb04bf touchscreen: raydium: Lower log level
Lower log level in work handler.

Change-Id: Idcd1ce78ce979318542be5684fc286135af5d322
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:48:25 +05:30
ppadasal
558808c356 touchscreen: raydium: Change in Key event
Changed key event from KEY_POWER to KEY_WAKEUP in Probe Sequence.

Change-Id: Ifb93b0529af727443d86fd8fad47fed7c70ad48d
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:46:54 +05:30
ppadasal
73a5d93a4c touchscreen: raydium: Change Input Key event
Changed key event from KEY_POWER to KEY_WAKEUP.

Change-Id: Ifeed075504a72426af600291457b46f1d0b336ae
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:45:51 +05:30
ppadasal
ddda48faec touchscreen: raydium: Both regulators turn off
Add the shutdown callback() in i2c_driver struct.
Keep both regulators should be turn off in release sequence.

Change-Id: Icbfa8d9c9226bce8bf2286f99a18d3385e3b4d45
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:44:21 +05:30
ppadasal
6c84669c98 touchscreen: raydium: Fix Touch_to_wake issue with AOD_OFF
New DRM events were added as a part of deep sleep features,
hence added changes to handle DRM events in callback function
and interrupt work handler.

Change-Id: If4ccfb12cb9c6df98eccc1ae5968be8e1225f711
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:41:34 +05:30
ppadasal
ac338866d8 touchscreen: raydium: workaround for touch to wake
wakeup gesture status is not observed during touch to wake, hence
simulating
power key for every interrupt.

Change-Id: I28143543b364786874b97b94ac0fe1774ea2dd26
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:36:09 +05:30
ppadasal
8402dbcdd9 touchscreen: raydium: Click trigger open camera
Click should not report power key, trigger usercase open camera.

Change-Id: I255d072d1b4f532d6d9e3dbf50310f1bc96b3416
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:28:15 +05:30
ppadasal
6110f99f51 touchscreen: raydium: Active panel not select
Active panel not select, display will probe first, then touch probe.

Change-Id: Ib303b87eb265c6c58b37fb1e631153321b282f4b
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:15:03 +05:30
ppadasal
37908e1829 touchscreen: raydium: temporary workaround for touch to wake
wakeup gesture status is not observed during touch to wake, hance
simulating
power key for every interrupt.

Change-Id: I1e0221bfbd7f1256971a679a055145c314235dff
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 16:08:38 +05:30
ppadasal
66adec3dd9 touchscreen: raydium: Setting up of DRM notifier
Implementation of DRM notifier callbacks and registration
of callback during touch probing.
Fetching of the active DRM panel from the DSI panels in device
tree and storing in core platform data structure.

Change-Id: I392bd6df50ff5baadf0a13a1da9f61902e575eda
Signed-off-by: ppadasal <quic_ppadasal@quicinc.com>
2022-09-21 15:53:17 +05:30
Srikanth Katteboina
447a6d32fc touch: Request firmware from userspace
Add upgrade mode with request firmware file from userspace.

Change-Id: Ifb4329d39eb8e80c11e6738d173870be94a63ea3
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:49:55 +05:30
Srikanth Katteboina
e54f813e0a touch: Remove unnecessary log
Remove unnecessary print log and adjust poweron sequence.

Change-Id: I99d34b40f06434146bcc1f438fbfe72bf6e68c2d
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:49:48 +05:30
Srikanth Katteboina
748d0d396a touch: Correct long press and swiping
Correct long press and swiping on the edge of screen.

Change-Id: Id8758fbb1092719f0e0e6db2aa4ac4e9a75cc447
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:49:40 +05:30
Srikanth Katteboina
dedef8c90d touch: exit in probe
Adjust exit labels to avoid the use-after-free issue.

Change-Id: I46368c80014aa3cbb680cf6e9967e20e188c1340
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:49:34 +05:30
Srikanth Katteboina
03bb25d1f1 touch: fixing compilation errors
fixing compilation errors in raydium driver code.

Change-Id: Ia2b5d1b12c8fe7f5c5832ac5ee656555822ec7db
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:49:15 +05:30
Srikanth Katteboina
4f002c78b1 touch: Enable and Disable voltages
Added regulator API's for enablement and disablement of voltages for
touch during SUSPEND and RESUME states.

Change-Id: Idfb0f0890700576acb15dfc11fa0118ed8fa94ee
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:49:09 +05:30
Srikanth Katteboina
d66a17ccb3 touch: Add regulator support
Added regulator support to RM6D030 touch sensor.

Change-Id: I74b2560ae5e02ceea272c15609e7dd624560a5bd
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
2022-09-21 15:48:56 +05:30
Surya Teja Kudiri
03a5e19b61 touch: Setting up of DRM notifier
Implementation of DRM notifier callbacks and registration
of callback during touch probing.

Change-Id: I56e6d19708e207cee4d63089a73725be30f9cd84
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-09-19 15:40:00 +05:30
Surya Teja Kudiri
ef5fab8765 touch: Insertion of DRM and RUNTIME macros
Inclusion of the DRM notifier callback macros and RUNTIME macros
in header file.

Change-Id: Ie23e7e5f94028cc9a80de47906f13b0eb5e2f8cf
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
2022-09-19 15:35:39 +05:30