efifb: BGRT: Add nobgrt option

In some setups restoring the BGRT logo is undesirable, allow passing
video=efifb:nobgrt on the kernel commandline to disable it.

Reported-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
This commit is contained in:
Hans de Goede 2018-09-26 18:11:22 +02:00 коммит произвёл Bartlomiej Zolnierkiewicz
Родитель 1bafcbf59f
Коммит cf7389b809
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -42,6 +42,7 @@ struct bmp_dib_header {
u32 colors_important; u32 colors_important;
} __packed; } __packed;
static bool use_bgrt = true;
static bool request_mem_succeeded = false; static bool request_mem_succeeded = false;
static u64 mem_flags = EFI_MEMORY_WC | EFI_MEMORY_UC; static u64 mem_flags = EFI_MEMORY_WC | EFI_MEMORY_UC;
@ -160,6 +161,9 @@ static void efifb_show_boot_graphics(struct fb_info *info)
void *bgrt_image = NULL; void *bgrt_image = NULL;
u8 *dst = info->screen_base; u8 *dst = info->screen_base;
if (!use_bgrt)
return;
if (!bgrt_tab.image_address) { if (!bgrt_tab.image_address) {
pr_info("efifb: No BGRT, not showing boot graphics\n"); pr_info("efifb: No BGRT, not showing boot graphics\n");
return; return;
@ -290,6 +294,8 @@ static int efifb_setup(char *options)
screen_info.lfb_width = simple_strtoul(this_opt+6, NULL, 0); screen_info.lfb_width = simple_strtoul(this_opt+6, NULL, 0);
else if (!strcmp(this_opt, "nowc")) else if (!strcmp(this_opt, "nowc"))
mem_flags &= ~EFI_MEMORY_WC; mem_flags &= ~EFI_MEMORY_WC;
else if (!strcmp(this_opt, "nobgrt"))
use_bgrt = false;
} }
} }