diff options
author | Hans de Goede <hdegoede@redhat.com> | 2018-09-26 12:11:22 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2018-09-26 12:11:22 -0400 |
commit | cf7389b8095fabae076ef28b49dc3059b9eb899f (patch) | |
tree | adf90970f5ff1857a2796227a28ebec0d3ae75ce | |
parent | 1bafcbf59fed92af58955024452f45430d3898c5 (diff) |
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>
-rw-r--r-- | drivers/video/fbdev/efifb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c index 3946649b85c8..ba906876cc45 100644 --- a/drivers/video/fbdev/efifb.c +++ b/drivers/video/fbdev/efifb.c | |||
@@ -42,6 +42,7 @@ struct bmp_dib_header { | |||
42 | u32 colors_important; | 42 | u32 colors_important; |
43 | } __packed; | 43 | } __packed; |
44 | 44 | ||
45 | static bool use_bgrt = true; | ||
45 | static bool request_mem_succeeded = false; | 46 | static bool request_mem_succeeded = false; |
46 | static u64 mem_flags = EFI_MEMORY_WC | EFI_MEMORY_UC; | 47 | static u64 mem_flags = EFI_MEMORY_WC | EFI_MEMORY_UC; |
47 | 48 | ||
@@ -160,6 +161,9 @@ static void efifb_show_boot_graphics(struct fb_info *info) | |||
160 | void *bgrt_image = NULL; | 161 | void *bgrt_image = NULL; |
161 | u8 *dst = info->screen_base; | 162 | u8 *dst = info->screen_base; |
162 | 163 | ||
164 | if (!use_bgrt) | ||
165 | return; | ||
166 | |||
163 | if (!bgrt_tab.image_address) { | 167 | if (!bgrt_tab.image_address) { |
164 | pr_info("efifb: No BGRT, not showing boot graphics\n"); | 168 | pr_info("efifb: No BGRT, not showing boot graphics\n"); |
165 | return; | 169 | return; |
@@ -290,6 +294,8 @@ static int efifb_setup(char *options) | |||
290 | screen_info.lfb_width = simple_strtoul(this_opt+6, NULL, 0); | 294 | screen_info.lfb_width = simple_strtoul(this_opt+6, NULL, 0); |
291 | else if (!strcmp(this_opt, "nowc")) | 295 | else if (!strcmp(this_opt, "nowc")) |
292 | mem_flags &= ~EFI_MEMORY_WC; | 296 | mem_flags &= ~EFI_MEMORY_WC; |
297 | else if (!strcmp(this_opt, "nobgrt")) | ||
298 | use_bgrt = false; | ||
293 | } | 299 | } |
294 | } | 300 | } |
295 | 301 | ||