diff options
-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; } |