efi_loader: gop: fixes for CONFIG_DM_VIDEO without CONFIG_LCD
PATCH 1/1 efi_loader: gop: fixes for CONFIG_DM_VIDEO without CONFIG_LCD
Make EFI GOP support work with DM_VIDEO but without legacy LCD.
Signed-off-by Rob Clark <[email protected]>
Cc Alexander Graf <[email protected]>
--- cmd/bootefi.c | 2 +- lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_gop.c | 7 ++++++- 3 files changed, 8 insertions(+), 2 deletions(-)
cmd/bootefi.c +1 -1
@@ -230,7 +230,7 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)#ifdef CONFIG_PARTITIONS efi_disk_register ();#endif -#ifdef CONFIG_LCD +#if defined(CONFIG_LCD ) || defined(CONFIG_DM_VIDEO )efi_gop_register ();#endif #ifdef CONFIG_NET
lib/efi_loader/Makefile +1 -0
@@ -18,6 +18,7 @@ obj-y += efi_image_loader.o efi_boottime.o efi_runtime.o efi_console.o obj-y += efi_memory.o obj-y += efi_variable.o obj-$(CONFIG_LCD) += efi_gop.o +obj-$(CONFIG_DM_VIDEO) += efi_gop.o obj-$(CONFIG_PARTITIONS) += efi_disk.o obj-$(CONFIG_NET) += efi_net.o obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += efi_smbios.o
lib/efi_loader/efi_gop.c +6 -1
@@ -28,6 +28,7 @@ struct efi_gop_obj {struct efi_gop_mode mode;/* Fields we only have acces to during init */ u32 bpix; +void *fb; }; static efi_status_t EFIAPI gop_query_mode(struct efi_gop *this, u32 mode_number,
@@ -71,7 +72,7 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, void *buffer,if (operation !=EFI_BLT_BUFFER_TO_VIDEO )return EFI_EXIT (EFI_INVALID_PARAMETER ); - fb = (void *)gd->fb_base; + fb = gopobj->fb; line_len16 = gopobj->info.width *sizeof (u16); line_len32 = gopobj->info.width *sizeof (u32);
@@ -130,6 +131,7 @@ int efi_gop_register(void)struct efi_gop_obj *gopobj;u32 bpix, col, row;u64 fb_base, fb_size; +void *fb;#ifdef CONFIG_DM_VIDEO struct udevice *vdev;
@@ -144,6 +146,7 @@ int efi_gop_register(void) row =video_get_ysize (vdev); fb_base = (uintptr_t )priv->fb; fb_size = priv->fb_size; + fb = priv->fb;#else int line_len;
@@ -152,6 +155,7 @@ int efi_gop_register(void) row = panel_info.vl_row; fb_base = gd->fb_base; fb_size =lcd_get_size (&line_len); + fb = gd->fb_base;#endif switch (bpix) {
@@ -200,6 +204,7 @@ int efi_gop_register(void) gopobj->info.pixels_per_scanline = col; gopobj->bpix = bpix; + gopobj->fb = fb;/* Hook up to the device list */ list_add_tail (&gopobj->parent.link, &efi_obj_list);
Signature · 1 line
2.13.0
Alexander Graf
AppliedQuoted 4 lines
Make EFI GOP support work with
DM_VIDEObut without legacy LCD.Signed-off-by Rob Clark <[email protected]>Cc Alexander Graf <[email protected]>
Thanks, applied to efi-next
Alex