diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/stm.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/stm.c b/drivers/video/stm.c index 92bff9cb27..c825092691 100644 --- a/drivers/video/stm.c +++ b/drivers/video/stm.c @@ -24,6 +24,8 @@ #include <errno.h> #include <xfuncs.h> #include <io.h> +#include <dma.h> +#include <asm/mmu.h> #include <stmp-device.h> #include <linux/clk.h> #include <linux/err.h> @@ -329,8 +331,13 @@ static int stmfb_activate_var(struct fb_info *fb_info) return -ENOMEM; fb_info->screen_base = fbi->fixed_screen; fbi->memory_size = fbi->fixed_screen_size; + remap_range(fbi->fixed_screen, + fbi->fixed_screen_size, + mmu_get_pte_uncached_flags()); } else { - fb_info->screen_base = xrealloc(fb_info->screen_base, size); + fb_info->screen_base = dma_alloc_coherent(size, NULL); + if (!fb_info->screen_base) + return -ENOMEM; fbi->memory_size = size; } |