diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-12-20 11:25:53 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-12-20 11:32:08 +0100 |
commit | 8a01dea639e4530dad1a945b1d5efbe903a9407e (patch) | |
tree | b1a5d525e87b4977bdbf2a2f5e8f473c018d872c /drivers/video | |
parent | 96ec430eeb5b60241ccc3c8e828db88aa94c032c (diff) | |
download | barebox-8a01dea639e4530dad1a945b1d5efbe903a9407e.tar.gz barebox-8a01dea639e4530dad1a945b1d5efbe903a9407e.tar.xz |
video: ipufb: Use uncached memory for framebuffer
Otherwise funny caching artifacts can occur on the screen.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/imx-ipu-fb.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c index 18a70521de..7276647382 100644 --- a/drivers/video/imx-ipu-fb.c +++ b/drivers/video/imx-ipu-fb.c @@ -26,6 +26,7 @@ #include <malloc.h> #include <errno.h> #include <asm-generic/div64.h> +#include <asm/mmu.h> #include <mach/imx-ipu-fb.h> #include <linux/clk.h> #include <linux/err.h> @@ -1022,8 +1023,12 @@ static int imxfb_probe(struct device_d *dev) * memory for screen usage */ fbi->info.screen_base = pdata->framebuffer; - if (fbi->info.screen_base == NULL) { - fbi->info.screen_base = malloc(fbi->info.screen_size); + if (fbi->info.screen_base) { + remap_range(fbi->info.screen_base, + fbi->info.screen_size, + mmu_get_pte_uncached_flags()); + } else { + fbi->info.screen_base = dma_alloc_coherent(fbi->info.screen_size); if (!fbi->info.screen_base) return -ENOMEM; } |