summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2018-03-03 10:30:17 +0100
committerAnatolij Gustschin <agust@denx.de>2018-03-09 18:24:49 +0100
commitd06717f853cd98a6a4536e5de5248e6c99a2b7bc (patch)
tree756bdeba30ee6237a2f7d4ff80b4414f6353fc83 /drivers/video
parent5fba532954fe0363bcaa802ba4990e9466dc7d8c (diff)
sunxi: video: mark framebuffer as EFI reserved memory
Inform the EFI subsystem that the framebuffer memory is reserved. Without the patch the AllocatePool boot service allocates memory from the framebuffer which will will be overwritten by screen output. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/sunxi/sunxi_display.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/sunxi/sunxi_display.c b/drivers/video/sunxi/sunxi_display.c
index f191ef16c6..4da169fffd 100644
--- a/drivers/video/sunxi/sunxi_display.c
+++ b/drivers/video/sunxi/sunxi_display.c
@@ -8,6 +8,7 @@
*/
#include <common.h>
+#include <efi_loader.h>
#include <asm/arch/clock.h>
#include <asm/arch/display.h>
@@ -1207,6 +1208,13 @@ void *video_hw_init(void)
gd->bd->bi_dram[0].size - sunxi_display.fb_size;
sunxi_engines_init();
+#ifdef CONFIG_EFI_LOADER
+ efi_add_memory_map(gd->fb_base,
+ ALIGN(sunxi_display.fb_size, EFI_PAGE_SIZE) >>
+ EFI_PAGE_SHIFT,
+ EFI_RESERVED_MEMORY_TYPE, false);
+#endif
+
fb_dma_addr = gd->fb_base - CONFIG_SYS_SDRAM_BASE;
sunxi_display.fb_addr = gd->fb_base;
if (overscan_offset) {