Disable irq before entering gesture mode and IC resetting.

TP:
Disable interrupt before entering gesture mode and IC resetting.


Change-Id: I056458b7b405c1ba46f27eda9754c9d64eeeaef0
Reviewed-on: https://gerrit.mot.com/2149576
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
litong20 2021-12-20 19:28:12 +08:00 • committed by litong
commit 0c96a30306

View file

@ -770,9 +770,11 @@ static int goodix_ts_mmi_panel_state(struct device *dev,
switch (to) {
case TS_MMI_PM_GESTURE:
hw_ops->irq_enable(core_data, false);
if (hw_ops->gesture)
hw_ops->gesture(core_data, 0);
msleep(16);
hw_ops->irq_enable(core_data, true);
enable_irq_wake(core_data->irq);
core_data->gesture_enabled = true;
break;
@ -786,7 +788,10 @@ static int goodix_ts_mmi_panel_state(struct device *dev,
case TS_MMI_PM_ACTIVE:
if (hw_ops->resume)
hw_ops->resume(core_data);
core_data->gesture_enabled = false;
if (core_data->gesture_enabled) {
core_data->gesture_enabled = false;
hw_ops->irq_enable(core_data, true);
}
break;
default:
ts_err("Invalid power state parameter %d.\n", to);
@ -806,8 +811,10 @@ static int goodix_ts_mmi_pre_resume(struct device *dev) {
hw_ops = core_data->hw_ops;
atomic_set(&core_data->suspended, 0);
if (core_data->gesture_enabled)
if (core_data->gesture_enabled) {
core_data->hw_ops->irq_enable(core_data, false);
disable_irq_wake(core_data->irq);
}
return 0;
}