summaryrefslogtreecommitdiffstats
path: root/drivers/video/sunxi/sunxi_display.c
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/sunxi/sunxi_display.c
parent5fba532954fe0363bcaa802ba4990e9466dc7d8c (diff)
downloadu-boot-d06717f853cd98a6a4536e5de5248e6c99a2b7bc.tar.gz
u-boot-d06717f853cd98a6a4536e5de5248e6c99a2b7bc.tar.xz
u-boot-d06717f853cd98a6a4536e5de5248e6c99a2b7bc.zip
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/sunxi/sunxi_display.c')
-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) {