diff mbox series

efifb: BGRT: Add nobgrt option

Message ID 20180912091235.20473-1-hdegoede@redhat.com (mailing list archive)
State New, archived
Headers show
Series efifb: BGRT: Add nobgrt option | expand

Commit Message

Hans de Goede Sept. 12, 2018, 9:12 a.m. UTC
In some setups restoring the BGRT logo is undesirable, allow passing
video=efifb:nobgrt on the kernel commandline to disable it.

Cc: David Herrmann <dh.herrmann@gmail.com>
Reported-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/video/fbdev/efifb.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

David Herrmann Sept. 13, 2018, 6:51 a.m. UTC | #1
Hi

On Wed, Sep 12, 2018 at 11:12 AM Hans de Goede <hdegoede@redhat.com> wrote:
>
> In some setups restoring the BGRT logo is undesirable, allow passing
> video=efifb:nobgrt on the kernel commandline to disable it.
>
> Cc: David Herrmann <dh.herrmann@gmail.com>
> Reported-by: David Herrmann <dh.herrmann@gmail.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/video/fbdev/efifb.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Thanks a lot!
David

> 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 {
>         u32 colors_important;
>  } __packed;
>
> +static bool use_bgrt = true;
>  static bool request_mem_succeeded = false;
>  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;
>         u8 *dst = info->screen_base;
>
> +       if (!use_bgrt)
> +               return;
> +
>         if (!bgrt_tab.image_address) {
>                 pr_info("efifb: No BGRT, not showing boot graphics\n");
>                 return;
> @@ -290,6 +294,8 @@ static int efifb_setup(char *options)
>                                 screen_info.lfb_width = simple_strtoul(this_opt+6, NULL, 0);
>                         else if (!strcmp(this_opt, "nowc"))
>                                 mem_flags &= ~EFI_MEMORY_WC;
> +                       else if (!strcmp(this_opt, "nobgrt"))
> +                               use_bgrt = false;
>                 }
>         }
>
> --
> 2.19.0.rc0
>
Bartlomiej Zolnierkiewicz Sept. 26, 2018, 3:56 p.m. UTC | #2
On 09/13/2018 08:51 AM, David Herrmann wrote:
> Hi
> 
> On Wed, Sep 12, 2018 at 11:12 AM Hans de Goede <hdegoede@redhat.com> wrote:
>>
>> In some setups restoring the BGRT logo is undesirable, allow passing
>> video=efifb:nobgrt on the kernel commandline to disable it.
>>
>> Cc: David Herrmann <dh.herrmann@gmail.com>
>> Reported-by: David Herrmann <dh.herrmann@gmail.com>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>>  drivers/video/fbdev/efifb.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
> 
> Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Patch queued for 4.19, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
diff mbox series

Patch

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