From ac8b973dac779463e537612e1e0bd91de1d0870a Mon Sep 17 00:00:00 2001 From: haojl2 Date: Thu, 26 Sep 2019 14:15:36 +0800 Subject: [PATCH] nova_0flash_mmi: update fw in thread TP: When TP resume, update firmware in thread. This will increase screen on time Change-Id: I956ac5c40337e0d635974e274d334c7098d42dc5 Signed-off-by: haojl2 (cherry picked from commit a00b905f2606315cba8928d7d24ac1fb10013b07) Reviewed-on: https://gerrit.mot.com/1448174 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jun Weng Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c | 6 +----- .../input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c | 7 ++++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c index 134d0cde301a..667291acd7f3 100644 --- a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c +++ b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c @@ -2363,11 +2363,7 @@ static int32_t nvt_ts_resume(struct device *dev) #if NVT_TOUCH_SUPPORT_HW_RST gpio_set_value(ts->reset_gpio, 1); #endif - if (nvt_update_firmware(BOOT_UPDATE_FIRMWARE_NAME)) { - NVT_ERR("download firmware failed, ignore check fw state\n"); - } else { - nvt_check_fw_reset_state(RESET_STATE_REK); - } + queue_delayed_work(nvt_fwu_wq, &ts->nvt_fwu_work, msecs_to_jiffies(0)); #if !WAKEUP_GESTURE nvt_irq_enable(true); diff --git a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c index b5b6dfe2d533..6025341dadd8 100644 --- a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c +++ b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c @@ -1003,7 +1003,12 @@ return: void Boot_Update_Firmware(struct work_struct *work) { mutex_lock(&ts->lock); - nvt_update_firmware(BOOT_UPDATE_FIRMWARE_NAME); + if (nvt_update_firmware(BOOT_UPDATE_FIRMWARE_NAME)) { + NVT_ERR("download firmware failed, ignore check fw state\n"); + } else { + nvt_check_fw_reset_state(RESET_STATE_REK); + } + mutex_unlock(&ts->lock); } #endif /* BOOT_UPDATE_FIRMWARE */