Re: [PATCH 00/14] efi/gop: Refactoring + mode-setting feature

From: Ard Biesheuvel
Date: Thu Mar 19 2020 - 16:02:58 EST


On Thu, 19 Mar 2020 at 15:28, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
>
> This series is against tip:efi/core.
>
> Patches 1-9 are small cleanups and refactoring of the code in
> libstub/gop.c.
>
> The rest of the patches add the ability to use a command-line option to
> switch the gop's display mode.
>
> The options supported are:
> video=efifb:mode=n
> Choose a specific mode number
> video=efifb:<xres>x<yres>[-(rgb|bgr|<bpp>)]
> Specify mode by resolution and optionally color depth
> video=efifb:auto
> Let the EFI stub choose the highest resolution mode available.
>
> The mode-setting additions increase code size of gop.o by about 3k on
> x86-64 with EFI_MIXED enabled.
>
> Arvind Sankar (14):
> efi/gop: Remove redundant current_fb_base
> efi/gop: Move check for framebuffer before con_out
> efi/gop: Get mode information outside the loop
> efi/gop: Factor out locating the gop into a function
> efi/gop: Slightly re-arrange logic of find_gop
> efi/gop: Move variable declarations into loop block
> efi/gop: Use helper macros for populating lfb_base
> efi/gop: Use helper macros for find_bits
> efi/gop: Remove unreachable code from setup_pixel_info
> efi/gop: Add prototypes for query_mode and set_mode
> efi/gop: Allow specifying mode number on command line
> efi/gop: Allow specifying mode by <xres>x<yres>
> efi/gop: Allow specifying depth as well as resolution
> efi/gop: Allow automatically choosing the best mode
>

Thanks for this! I like it a lot.

Adding Hans to cc as he has been working on seamless fb handover.

I will review this somewhere next week.

> Documentation/fb/efifb.rst | 33 +-
> arch/x86/include/asm/efi.h | 4 +
> .../firmware/efi/libstub/efi-stub-helper.c | 3 +
> drivers/firmware/efi/libstub/efistub.h | 8 +-
> drivers/firmware/efi/libstub/gop.c | 489 ++++++++++++++----
> 5 files changed, 428 insertions(+), 109 deletions(-)
>
> --
> 2.24.1
>