diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2015-08-13 14:57:19 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2015-08-13 14:57:19 +0200 |
commit | 0ad945cd2095e1fa3edf83d0f90f9b5eba28777b (patch) | |
tree | 8b0a6a64fe117d6131bb73dc9d4c8181e91f69f5 | |
parent | 2cb415fc83bc733147f015a3380fc4e1bafff389 (diff) |
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.
-rw-r--r-- | drivers/video/fbdev/fsl-dcu-fb.c | 9 |
1 files 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; } |