ili9882_mmi: improve RESUME_BY_DDI support

ili9882_mmi: improve RESUME_BY_DDI support
for quick touch response.
NO_PROP_NEEDED

Change-Id: I1a54b94414b64de24d516acd51a5f49a1d3c566b
Signed-off-by: hujing3 <hujing3@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1798531
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
hujing3 2020-11-10 15:36:15 +08:00 • committed by Jing Hu
commit fcdea9385f
2 changed files with 12 additions and 2 deletions

View file

@ -32,6 +32,7 @@ static struct delayed_work esd_work;
static struct delayed_work bat_work;
#if RESUME_BY_DDI
static int ili_pinctrl_select_normal(struct ilitek_ts_data *ts);
static struct workqueue_struct *resume_by_ddi_wq;
static struct work_struct resume_by_ddi_work;
@ -49,6 +50,8 @@ static void ilitek_resume_by_ddi_work(struct work_struct *work)
else
ili_reset_ctrl(ilits->reset);
ili_pinctrl_select_normal(ilits);
ili_irq_enable();
ILI_INFO("TP resume end by wq\n");
ili_wq_ctrl(WQ_ESD, ENABLE);
@ -64,7 +67,7 @@ void ili_resume_by_ddi(void)
return;
}
mutex_lock(&ilits->touch_mutex);
// mutex_lock(&ilits->touch_mutex);
ILI_INFO("TP resume start called by ddi\n");
@ -78,8 +81,9 @@ void ili_resume_by_ddi(void)
ilits->ddi_rest_done = true;
mdelay(5);
queue_work(resume_by_ddi_wq, &(resume_by_ddi_work));
ILI_INFO("TP resume work queued\n");
mutex_unlock(&ilits->touch_mutex);
// mutex_unlock(&ilits->touch_mutex);
}
#endif
@ -523,6 +527,8 @@ int ili_sleep_handler(int mode)
ili_wq_ctrl(WQ_BAT, ENABLE);
ilits->tp_suspend = false;
ILI_INFO("TP resume end\n");
#else
ili_resume_by_ddi();
#endif
ili_irq_enable();
break;

View file

@ -142,7 +142,11 @@
#endif
#define REGULATOR_POWER DISABLE
#define TP_SUSPEND_PRIO ENABLE
#ifdef ILI_CONFIG_RESUME_BY_DDI
#define RESUME_BY_DDI ENABLE
#else
#define RESUME_BY_DDI DISABLE
#endif
#define BOOT_FW_UPDATE ENABLE
#define MP_INT_LEVEL DISABLE
#define PLL_CLK_WAKEUP_TP_RESUME DISABLE