mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
nova_0flash_mmi: Change sensor flag into on-change
TP: Change sensor flag into on-change sensor. one shot sensor can not work normal for TDDI panel Change-Id: Ia1a99650e0885187fea6bbcfdc36d4e484c4e17a Signed-off-by: haojl2 <haojl2@motorola.com> Reviewed-on: https://gerrit.mot.com/1435388 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jianlin Nie <niejl1@motorola.com> Reviewed-by: Hujun Liao <liaohj@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
01ea848b31
commit
f5e7ca72cb
1 changed files with 11 additions and 37 deletions
|
|
@ -56,8 +56,10 @@ static struct sensors_classdev __maybe_unused sensors_touch_cdev = {
|
|||
.max_range = "5.0",
|
||||
.resolution = "5.0",
|
||||
.sensor_power = "1",
|
||||
.min_delay = -1,
|
||||
.min_delay = 0,
|
||||
.max_delay = 0,
|
||||
/* WAKE_UP & ON_CHANGE */
|
||||
.flags = 1 | 2,
|
||||
.fifo_reserved_event_count = 0,
|
||||
.fifo_max_event_count = 0,
|
||||
.enabled = 0,
|
||||
|
|
@ -1008,16 +1010,8 @@ void nvt_ts_wakeup_gesture_report(uint8_t gesture_id, uint8_t *data)
|
|||
|
||||
if (keycode > 0) {
|
||||
#ifdef NVT_SENSOR_EN
|
||||
if (!ts->wakeable) {
|
||||
uint8_t buf[2] = {0};
|
||||
NVT_LOG("Predict enable failed.");
|
||||
ts->should_enable_gesture = false;
|
||||
//---write command to enter "deep sleep mode"---
|
||||
buf[0] = EVENT_MAP_HOST_CMD;
|
||||
buf[1] = 0x11;
|
||||
CTP_SPI_WRITE(ts->client, buf, 2);
|
||||
ts->gesture_enabled = false;
|
||||
disable_irq_wake(ts->client->irq);
|
||||
if (!(ts->wakeable && ts->should_enable_gesture)) {
|
||||
NVT_LOG("Gesture got but wakeable not set. Skip this gesture.");
|
||||
return;
|
||||
}
|
||||
input_report_abs(ts->sensor_pdata->input_sensor_dev,
|
||||
|
|
@ -1031,7 +1025,7 @@ void nvt_ts_wakeup_gesture_report(uint8_t gesture_id, uint8_t *data)
|
|||
#ifdef CONFIG_HAS_WAKELOCK
|
||||
wake_lock_timeout(&gesture_wakelock, msecs_to_jiffies(5000));
|
||||
#else
|
||||
__pm_wakeup_event(&gesture_wakelock, msecs_to_jiffies(5000));
|
||||
__pm_wakeup_event(&gesture_wakelock, 5000);
|
||||
#endif
|
||||
#else
|
||||
input_report_key(ts->input_dev, keycode, 1);
|
||||
|
|
@ -1554,32 +1548,9 @@ static int nvt_sensor_set_enable(struct sensors_classdev *sensors_cdev,
|
|||
NVT_LOG("Gesture set enable %d!", enable);
|
||||
mutex_lock(&ts->state_mutex);
|
||||
if (enable == 1) {
|
||||
uint8_t buf[2] = {0};
|
||||
ts->wakeable = true;
|
||||
if (bTouchIsAwake && ts->screen_state == SCREEN_ON) {
|
||||
NVT_LOG("Touch still in normal mode, skip to set to gesture mode");
|
||||
mutex_unlock(&ts->state_mutex);
|
||||
return 0;
|
||||
}
|
||||
if (ts->gesture_enabled) {
|
||||
NVT_LOG("Already in gesture mode");
|
||||
mutex_unlock(&ts->state_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ts->should_enable_gesture = true;
|
||||
//---write command to enter "wakeup gesture mode"---
|
||||
buf[0] = EVENT_MAP_HOST_CMD;
|
||||
buf[1] = 0x13;
|
||||
CTP_SPI_WRITE(ts->client, buf, 2);
|
||||
|
||||
nvt_irq_enable(true);
|
||||
enable_irq_wake(ts->client->irq);
|
||||
ts->gesture_enabled = true;
|
||||
NVT_LOG("Set IC in doze mode");
|
||||
} else if (enable == 0) {
|
||||
ts->wakeable = false;
|
||||
//fts_gesture_resume(fts_data);
|
||||
ts->should_enable_gesture = false;
|
||||
} else {
|
||||
NVT_LOG("unknown enable symbol\n");
|
||||
}
|
||||
|
|
@ -2315,6 +2286,7 @@ static int32_t nvt_ts_suspend(struct device *dev)
|
|||
|
||||
enable_irq_wake(ts->client->irq);
|
||||
ts->gesture_enabled = true;
|
||||
ts->wakeable = true;
|
||||
|
||||
NVT_LOG("Enabled touch wakeup gesture\n");
|
||||
#ifdef NVT_SENSOR_EN
|
||||
|
|
@ -2324,6 +2296,7 @@ static int32_t nvt_ts_suspend(struct device *dev)
|
|||
buf[1] = 0x11;
|
||||
CTP_SPI_WRITE(ts->client, buf, 2);
|
||||
ts->gesture_enabled = false;
|
||||
ts->wakeable = false;
|
||||
}
|
||||
#endif
|
||||
#else // WAKEUP_GESTURE
|
||||
|
|
@ -2413,9 +2386,10 @@ static int32_t nvt_ts_resume(struct device *dev)
|
|||
|
||||
#if WAKEUP_GESTURE
|
||||
#ifdef NVT_SENSOR_EN
|
||||
if (ts->should_enable_gesture) {
|
||||
if (ts->wakeable) {
|
||||
disable_irq_wake(ts->client->irq);
|
||||
ts->gesture_enabled = false;
|
||||
ts->wakeable = false;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue