summaryrefslogtreecommitdiffstats
path: root/drivers/video/mxc_ipuv3_fb.c
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2017-09-04 23:33:45 +0200
committerAnatolij Gustschin <agust@denx.de>2017-09-04 23:33:45 +0200
commitf8ba7f27740b42f17bf145d0e1e5aec66ac8dc0e (patch)
tree2a71f9edb36db923182f27d7e930f3132445582d /drivers/video/mxc_ipuv3_fb.c
parent0e88cdd17da393e7dd6040de6a3fda289c00a51e (diff)
downloadu-boot-f8ba7f27740b42f17bf145d0e1e5aec66ac8dc0e.tar.gz
u-boot-f8ba7f27740b42f17bf145d0e1e5aec66ac8dc0e.tar.xz
u-boot-f8ba7f27740b42f17bf145d0e1e5aec66ac8dc0e.zip
video: ipuv3_fb: skip IPU shutdown if IPU was not enabled before
Boards can skip display interface init using board_video_skip(). If display interface was not initialized (e.g. no ipuv3 framebuffer registered or IPU clock disabled), booting Linux stops due to the crash in IPU shutdown function, when accessing IPU registers. Check IPU clock and skip shutdown if clock is not enabled. Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'drivers/video/mxc_ipuv3_fb.c')
-rw-r--r--drivers/video/mxc_ipuv3_fb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c
index 0d0a0a97ff..1ab5cb7b1c 100644
--- a/drivers/video/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc_ipuv3_fb.c
@@ -571,6 +571,9 @@ void ipuv3_fb_shutdown(void)
int i;
struct ipu_stat *stat = (struct ipu_stat *)IPU_STAT;
+ if (!ipu_clk_enabled())
+ return;
+
for (i = 0; i < ARRAY_SIZE(mxcfb_info); i++) {
struct fb_info *fbi = mxcfb_info[i];
if (fbi) {