All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
To: Peter Robinson <pbrobinson@gmail.com>,Icenowy Zheng <icenowy@aosc.io>
Cc: Alexander Graf <agraf@csgraf.de>,u-boot@lists.denx.de
Subject: Re: [PATCH] efi_loader: allow to disable GOP support
Date: Wed, 16 Jun 2021 16:25:35 +0200	[thread overview]
Message-ID: <CC0E9CA6-44F9-4876-9BE9-7FCFCDFC12C3@gmx.de> (raw)
In-Reply-To: <CALeDE9Pjywm1S+LmnPrHrJV1XgG7FXBOne88Vq=Jzj=REzYMtQ@mail.gmail.com>

Am 16. Juni 2021 16:18:35 MESZ schrieb Peter Robinson <pbrobinson@gmail.com>:
>On Wed, Jun 16, 2021 at 3:11 PM Icenowy Zheng <icenowy@aosc.io> wrote:
>>
>> 在 2021-06-16星期三的 15:06 +0100,Peter Robinson写道:
>> > On Wed, Jun 16, 2021 at 1:20 PM Icenowy Zheng <icenowy@aosc.io>
>> > wrote:
>> > >
>> > > 在 2021-06-16星期三的 06:59 +0200,Heinrich Schuchardt写道:
>> > > > Am 15. Juni 2021 23:10:28 MESZ schrieb Icenowy Zheng
>> > > > <icenowy@aosc.io>:
>> > > > > Sometimes EFI GOP support may be not wanted (e.g. because the
>> > > > > operating
>> > > > > system cannot operate well with it) even if video support in
>U-
>> > > > > Boot
>> > > > > is
>> > > > > needed.
>> > > >
>> > > > Which OS has which problem?
>> > > > Why don't you fix the OS?
>> > >
>> > > I'm trying RK3399 with Linux. EFIFB never works as intended
>(maybe
>> > > it's
>> > > because IOMMU is reconfigured), and rockchipdrmfb will be fb1
>> > > (leave
>> > > non-working EFIFB as fb0), makes fbcon unusable.
>> >
>> > It's due to bugs in Linux, it will be fixed in 5.14 with these
>> > patches
>> > from our Fedora testing:
>> >
>https://lists.freedesktop.org/archives/dri-devel/2021-May/306803.html
>>
>> I think this patch should get backported.
>
>I have no problems with that so feel free to propose it to the stable
>kernels.
>
>> BTW a point of using EFI boot is to support existing distros, which
>> won't have this patch.
>
>Sure, but UEFI doesn't guarantee there aren't bugs in kernels or
>firmware though, it certainly makes things more straight forward but
>it's no silver bullet.
>

https://passthroughpo.st/explaining-csm-efifboff-setting-boot-gpu-manually/ refers to a Linux command line parameter that could be used:

video=efifb:off

Best regards

Heinrich



>> >
>> > There's also this enhancement, also should land in 5.14, which is
>> > dependent on the feature that's in the second link:
>> >
>> >
>https://lists.freedesktop.org/archives/dri-devel/2021-May/306803.html
>> >
>https://lists.freedesktop.org/archives/dri-devel/2021-April/303291.html
>> >
>> > With that first patch it mostly works for me, the second two series
>> > improves on that some more.
>> >
>> > Peter
>> >
>> > > The second problem has a proposed fix, but the first problem is
>> > > mystery.
>> > >
>> > > >
>> > > > Best regards
>> > > >
>> > > > Heinrich
>> > > >
>> > > >
>> > > > >
>> > > > > Allow to disable EFI GOP support with a Kconfig option.
>> > > > >
>> > > > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>> > > > > ---
>> > > > > lib/efi_loader/Kconfig     |  8 ++++++++
>> > > > > lib/efi_loader/Makefile    |  3 +--
>> > > > > lib/efi_loader/efi_setup.c | 11 ++++++-----
>> > > > > 3 files changed, 15 insertions(+), 7 deletions(-)
>> > > > >
>> > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
>> > > > > index 6242caceb7..5ba0ce6a44 100644
>> > > > > --- a/lib/efi_loader/Kconfig
>> > > > > +++ b/lib/efi_loader/Kconfig
>> > > > > @@ -282,6 +282,14 @@ config EFI_HAVE_RUNTIME_RESET
>> > > > >         depends on ARCH_BCM283X || FSL_LAYERSCAPE ||
>PSCI_RESET
>> > > > > ||
>> > > > > \
>> > > > >                    SANDBOX || SYSRESET_X86
>> > > > >
>> > > > > +config EFI_GOP_PROTOCOL
>> > > > > +       bool "EFI_GOP_PROTOCOL support"
>> > > > > +       default y
>> > > > > +       depends on DM_VIDEO || LCD
>> > > > > +       help
>> > > > > +         Provide a EFI_GOP_PROTOCOL implementation using the
>> > > > > graphics
>> > > > > +         hardware initialized by U-Boot.
>> > > > > +
>> > > > > config EFI_GRUB_ARM32_WORKAROUND
>> > > > >         bool "Workaround for GRUB on 32bit ARM"
>> > > > >         default n if ARCH_BCM283X || ARCH_SUNXI || ARCH_QEMU
>> > > > > diff --git a/lib/efi_loader/Makefile
>b/lib/efi_loader/Makefile
>> > > > > index fd344cea29..826563d9a7 100644
>> > > > > --- a/lib/efi_loader/Makefile
>> > > > > +++ b/lib/efi_loader/Makefile
>> > > > > @@ -54,8 +54,7 @@ obj-$(CONFIG_EFI_VARIABLES_PRESEED) +=
>> > > > > efi_var_seed.o
>> > > > > endif
>> > > > > obj-y += efi_watchdog.o
>> > > > > obj-$(CONFIG_EFI_ESRT) += efi_esrt.o
>> > > > > -obj-$(CONFIG_LCD) += efi_gop.o
>> > > > > -obj-$(CONFIG_DM_VIDEO) += efi_gop.o
>> > > > > +obj-$(CONFIG_EFI_GOP_PROTOCOL) += efi_gop.o
>> > > > > obj-$(CONFIG_PARTITIONS) += efi_disk.o
>> > > > > obj-$(CONFIG_NET) += efi_net.o
>> > > > > obj-$(CONFIG_GENERATE_ACPI_TABLE) += efi_acpi.o
>> > > > > diff --git a/lib/efi_loader/efi_setup.c
>> > > > > b/lib/efi_loader/efi_setup.c
>> > > > > index 3c5cf9a435..98deb63777 100644
>> > > > > --- a/lib/efi_loader/efi_setup.c
>> > > > > +++ b/lib/efi_loader/efi_setup.c
>> > > > > @@ -254,11 +254,12 @@ efi_status_t efi_init_obj_list(void)
>> > > > >         if (ret != EFI_SUCCESS)
>> > > > >                 goto out;
>> > > > >
>> > > > > -#if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO)
>> > > > > -       ret = efi_gop_register();
>> > > > > -       if (ret != EFI_SUCCESS)
>> > > > > -               goto out;
>> > > > > -#endif
>> > > > > +       if (IS_ENABLED(CONFIG_EFI_GOP_PROTOCOL)) {
>> > > > > +               ret = efi_gop_register();
>> > > > > +               if (ret != EFI_SUCCESS)
>> > > > > +                       goto out;
>> > > > > +       }
>> > > > > +
>> > > > > #ifdef CONFIG_NET
>> > > > >         ret = efi_net_register();
>> > > > >         if (ret != EFI_SUCCESS)
>> > >
>>


  reply	other threads:[~2021-06-16 14:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-15 21:10 [PATCH] efi_loader: allow to disable GOP support Icenowy Zheng
2021-06-16  4:59 ` Heinrich Schuchardt
2021-06-16 12:19   ` Icenowy Zheng
2021-06-16 13:20     ` Heinrich Schuchardt
2021-06-16 14:09       ` Icenowy Zheng
2021-06-16 14:06     ` Peter Robinson
2021-06-16 14:11       ` Icenowy Zheng
2021-06-16 14:18         ` Peter Robinson
2021-06-16 14:25           ` Heinrich Schuchardt [this message]
2021-06-17 21:21     ` Javier Martinez Canillas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CC0E9CA6-44F9-4876-9BE9-7FCFCDFC12C3@gmx.de \
    --to=xypron.glpk@gmx.de \
    --cc=agraf@csgraf.de \
    --cc=icenowy@aosc.io \
    --cc=pbrobinson@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.