summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/stm.c9
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;
}