synaptics_mmi: support splash screen mode

DRM framework not following full display power up sequence when
splash screen enabled and thus first unblank notification is missing.
This change enables interrupts handling on F34 load to work around
that deficiency

Change-Id: I00c2a93417e66ebce58ff5e85c7d0baafc9af14d
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1224646
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
Konstantin Makariev 2018-08-10 14:32:33 -05:00 • committed by Konstantin Makariev
commit 939dd20bb0
2 changed files with 10 additions and 0 deletions

View file

@ -1737,6 +1737,11 @@ static struct synaptics_dsx_platform_data *
rmi4_data->purge_enabled = true;
}
if (of_property_read_bool(np, "synaptics,splash-screen-mode")) {
pr_notice("splash screen mode\n");
rmi4_data->splash_screen_mode = true;
}
retval = of_property_read_u32(np, "synaptics,pm-qos-latency",
&rmi4_data->pm_qos_latency);
if (!retval)
@ -6715,6 +6720,10 @@ static void synaptics_rmi4_detection_work(struct work_struct *work)
rmi4_data->in_bootloader = true;
pr_info("Product: %s is in bootloader mode\n",
rmi->product_id_string);
} else if (rmi4_data->splash_screen_mode) {
/* Temporary work around DRM framework not following */
/* full power up sequence in case of splash screen */
synaptics_dsx_sensor_ready_state(rmi4_data, false);
}
/* replace default status retrieval function */
rmi4_data->get_status = exp_fhandler->func_status;

View file

@ -500,6 +500,7 @@ struct synaptics_rmi4_data {
int sensor_max_y;
bool irq_enabled;
atomic_t touch_stopped;
bool splash_screen_mode;
bool flash_enabled;
bool ic_on;
bool fingers_on_2d;