diff options
author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-09-29 11:12:34 +0200 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-09-29 11:12:34 +0200 |
commit | 8f0732ac3dc3bdbbcada313dc4b4b38d5d2c376a (patch) | |
tree | b20bde0a30aa7902bdfc43a2097acc6f2f58cf5d /drivers/video | |
parent | fa651cce4f89f6d33f1ea301a6f1f781758c7dfd (diff) | |
parent | 7577a4b3c27af9ad21a4aedf732754ae96225448 (diff) | |
download | u-boot-imx-8f0732ac3dc3bdbbcada313dc4b4b38d5d2c376a.zip u-boot-imx-8f0732ac3dc3bdbbcada313dc4b4b38d5d2c376a.tar.gz u-boot-imx-8f0732ac3dc3bdbbcada313dc4b4b38d5d2c376a.tar.bz2 |
Merge remote-tracking branch 'u-boot-imx/master'
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/mxc_ipuv3_fb.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c index c38e22d..47b336e 100644 --- a/drivers/video/mxc_ipuv3_fb.c +++ b/drivers/video/mxc_ipuv3_fb.c @@ -38,6 +38,7 @@ #include "videomodes.h" #include "ipu.h" #include "mxcfb.h" +#include "ipu_regs.h" static int mxcfb_map_video_memory(struct fb_info *fbi); static int mxcfb_unmap_video_memory(struct fb_info *fbi); @@ -576,6 +577,25 @@ err0: return ret; } +void ipuv3_fb_shutdown(void) +{ + int i; + struct ipu_stat *stat = (struct ipu_stat *)IPU_STAT; + + for (i = 0; i < ARRAY_SIZE(mxcfb_info); i++) { + struct fb_info *fbi = mxcfb_info[i]; + if (fbi) { + struct mxcfb_info *mxc_fbi = fbi->par; + ipu_disable_channel(mxc_fbi->ipu_ch); + ipu_uninit_channel(mxc_fbi->ipu_ch); + } + } + for (i = 0; i < ARRAY_SIZE(stat->int_stat); i++) { + __raw_writel(__raw_readl(&stat->int_stat[i]), + &stat->int_stat[i]); + } +} + void *video_hw_init(void) { int ret; |