From 0ad945cd2095e1fa3edf83d0f90f9b5eba28777b Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 13 Aug 2015 14:57:19 +0200 Subject: video: fsl-dcu-fb: fix layer reset and initialization on resume For LPSTOP2, layers need to be reinitialized on resume (like in probe). Furthermore do not enable the controller twice and use the correct order in suspend and resume path. --- drivers/video/fbdev/fsl-dcu-fb.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/fsl-dcu-fb.c b/drivers/video/fbdev/fsl-dcu-fb.c index df40920206ec..a1da36f131f0 100644 --- a/drivers/video/fbdev/fsl-dcu-fb.c +++ b/drivers/video/fbdev/fsl-dcu-fb.c @@ -1061,9 +1061,8 @@ static int fsl_dcu_suspend(struct device *dev) fb_set_suspend(fbi, 1); console_unlock(); - disable_panel(fbi); - disable_controller(dcufb->fsl_dcu_info[0]); + disable_panel(fbi); clk_disable_unprepare(dcufb->clk); return 0; @@ -1083,14 +1082,14 @@ static int fsl_dcu_resume(struct device *dev) goto failed_bypasstcon; } - enable_controller(dcufb->fsl_dcu_info[0]); + reset_layers(dcufb); + + fsl_dcu_set_par(fbi); console_lock(); fb_set_suspend(fbi, 0); console_unlock(); - fsl_dcu_set_par(fbi); - failed_bypasstcon: return ret; } -- cgit v1.2.3