From 72b335e91d41ff5dfecdea57d3397f368bb488f5 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 5 Jan 2016 09:30:58 -0700 Subject: sandbox: Support the bmp command Adjust this command to use map_sysmem() correctly so that it works on sandbox. Signed-off-by: Simon Glass Reviewed-by: Tom Rini --- common/cmd_bmp.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'common') diff --git a/common/cmd_bmp.c b/common/cmd_bmp.c index cb1f07119b..f04b7d4866 100644 --- a/common/cmd_bmp.c +++ b/common/cmd_bmp.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -57,7 +58,8 @@ struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp, /* align to 32-bit-aligned-address + 2 */ bmp = (struct bmp_image *)((((unsigned int)dst + 1) & ~3) + 2); - if (gunzip(bmp, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, (uchar *)addr, &len) != 0) { + if (gunzip(bmp, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, map_sysmem(addr, 0), + &len) != 0) { free(dst); return NULL; } @@ -187,7 +189,7 @@ U_BOOT_CMD( */ static int bmp_info(ulong addr) { - struct bmp_image *bmp = (struct bmp_image *)addr; + struct bmp_image *bmp = (struct bmp_image *)map_sysmem(addr, 0); void *bmp_alloc_addr = NULL; unsigned long len; @@ -224,7 +226,7 @@ static int bmp_info(ulong addr) int bmp_display(ulong addr, int x, int y) { int ret; - struct bmp_image *bmp = (struct bmp_image *)addr; + struct bmp_image *bmp = map_sysmem(addr, 0); void *bmp_alloc_addr = NULL; unsigned long len; @@ -236,11 +238,12 @@ int bmp_display(ulong addr, int x, int y) printf("There is no valid bmp file at the given address\n"); return 1; } + addr = map_to_sysmem(bmp); #if defined(CONFIG_LCD) - ret = lcd_display_bitmap((ulong)bmp, x, y); + ret = lcd_display_bitmap(addr, x, y); #elif defined(CONFIG_VIDEO) - ret = video_display_bitmap((unsigned long)bmp, x, y); + ret = video_display_bitmap(addr, x, y); #else # error bmp_display() requires CONFIG_LCD or CONFIG_VIDEO #endif -- cgit v1.2.3