diff options
author | jyzhang1 <jyzhang1@mobvoi.com> | 2017-10-01 15:43:40 +0800 |
---|---|---|
committer | jingyi(BSP) Zhang <jyzhang1@mobvoi.com> | 2017-10-01 08:04:36 +0000 |
commit | 31801a8594c500a8a0b1590e2258f8201274b499 (patch) | |
tree | 87a0147a350b7de45e9cb79ebe88a33c2c0c81f3 | |
parent | 6d2ac08dc8e3563c70349f2cbb84263810f4b882 (diff) | |
download | mediatek-31801a8594c500a8a0b1590e2258f8201274b499.tar.gz |
LCM: fix the bug "Visual glitch when wake up"
BUG:67013830
1.reset lcm after lcm suspend, avoid the visual glitch
2.display power off after close the backlight when device shutdown
-rw-r--r-- | arch/arm/mach-mt2601/mooneye/lcm/rm69080_dsi_cmd.c | 7 | ||||
-rw-r--r-- | drivers/misc/mediatek/leds/mtk_leds_drv.c | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-mt2601/mooneye/lcm/rm69080_dsi_cmd.c b/arch/arm/mach-mt2601/mooneye/lcm/rm69080_dsi_cmd.c index de16c4747968..eb5d5f3480cf 100644 --- a/arch/arm/mach-mt2601/mooneye/lcm/rm69080_dsi_cmd.c +++ b/arch/arm/mach-mt2601/mooneye/lcm/rm69080_dsi_cmd.c @@ -163,6 +163,13 @@ static void lcm_suspend(void) data_array[0] = 0x014F1500; dsi_set_cmdq(data_array, 1, 1); + MDELAY(10); + + SET_RESET_PIN(1); + SET_RESET_PIN(0); + MDELAY(1); + SET_RESET_PIN(1); + MDELAY(5); } static void lcm_resume(void) diff --git a/drivers/misc/mediatek/leds/mtk_leds_drv.c b/drivers/misc/mediatek/leds/mtk_leds_drv.c index e2e4879f4d7e..b1d59ba508dd 100644 --- a/drivers/misc/mediatek/leds/mtk_leds_drv.c +++ b/drivers/misc/mediatek/leds/mtk_leds_drv.c @@ -25,6 +25,8 @@ #include <mtk_leds_hal.h> #include <mtk_leds_drv.h> #include <mt-plat/mtk_pwm.h> +#include "lcm_drv.h" + #ifdef CONFIG_BACKLIGHT_SUPPORT_LP8557 #include <linux/of_gpio.h> @@ -39,6 +41,7 @@ static unsigned int bl_div = CLK_DIV1; #define PWM_DIV_NUM 8 static unsigned int div_array[PWM_DIV_NUM]; struct mt65xx_led_data *g_leds_data[MT65XX_LED_TYPE_TOTAL]; +extern LCM_DRIVER *lcm_drv; #ifdef CONFIG_BACKLIGHT_SUPPORT_LP8557 static unsigned int last_level1 = 102; @@ -786,6 +789,8 @@ static void mt65xx_leds_shutdown(struct platform_device *pdev) break; } } + mdelay(10); + lcm_drv->suspend(); } |