Commit 7a0078775fb8681c4e12e434e8a4aba15e467e42

Authored by Fancy Fang
1 parent 6c6c6d774a

MLK-21380 video: fbdev: mxsfb: fix resume timing for overlay fb

The overlay fb can only be enabled when the LCDIF is not in
running, otherwise overlay display may look like image shift.
So during the system resume procedure, the overlay fb should
be resumed before mxsfb unblank.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit f39662a3a38a2da082d55a006e634766cc85e347)

Showing 1 changed file with 5 additions and 2 deletions Side-by-side Diff

drivers/video/fbdev/mxsfb.c
... ... @@ -4,7 +4,7 @@
4 4 * This code is based on:
5 5 * Author: Vitaly Wool <vital@embeddedalley.com>
6 6 *
7   - * Copyright 2017 NXP
  7 + * Copyright 2017-2019 NXP
8 8 * Copyright 2008-2015 Freescale Semiconductor, Inc. All Rights Reserved.
9 9 * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved.
10 10 *
... ... @@ -2149,6 +2149,9 @@
2149 2149 clk_enable_disp_axi(fbi);
2150 2150 }
2151 2151  
  2152 + /* Pull LCDIF out of reset */
  2153 + writel(0xc0000000, fbi->base + LCDC_CTRL + REG_CLR);
  2154 +
2152 2155 writel(saved_as_ctrl, fbi->base + LCDC_AS_CTRL);
2153 2156 writel(saved_as_next_buf, fbi->base + LCDC_AS_NEXT_BUF);
2154 2157  
2155 2158  
... ... @@ -2462,9 +2465,9 @@
2462 2465 pinctrl_pm_select_default_state(pdev);
2463 2466  
2464 2467 console_lock();
  2468 + mxsfb_overlay_resume(host);
2465 2469 mxsfb_blank(host->restore_blank, fb_info);
2466 2470 fb_set_suspend(fb_info, 0);
2467   - mxsfb_overlay_resume(host);
2468 2471 console_unlock();
2469 2472  
2470 2473 return 0;