From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8042C48BE6 for ; Wed, 16 Jun 2021 13:20:35 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 744CA6102A for ; Wed, 16 Jun 2021 13:20:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 744CA6102A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BD2B2828EB; Wed, 16 Jun 2021 15:20:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="Q/KwOcvT"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 604CC828EB; Wed, 16 Jun 2021 15:20:30 +0200 (CEST) Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AA481800CF for ; Wed, 16 Jun 2021 15:20:26 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1623849624; bh=YSbIw1O8viukYEd1cBCv987C1BhKrOgu+vmQ24qbzgw=; h=X-UI-Sender-Class:Date:In-Reply-To:References:Subject:To:CC:From; b=Q/KwOcvTr3c9O7WwM1ZPg2czFEiI8UUzhAqukgLYK70FCyuzVWMSzUF1NkAH+Mqnz 9jpflnqdOosgKmmCw/MZ/C6cILcG+dpA1+hKumC7P4K3aPMjG34qg97xP4CjCSv7lk EbRnhPF4R2YpFDeCw7Epiinw8GNLcVoln15dYFaE= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [10.137.129.32] ([46.114.105.32]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N8obG-1lHIqv3Cis-015pTx; Wed, 16 Jun 2021 15:20:23 +0200 Date: Wed, 16 Jun 2021 15:20:21 +0200 User-Agent: K-9 Mail for Android In-Reply-To: <0402a529e381bd8dff81db7afd6bf7b5e4dfc95d.camel@aosc.io> References: <20210615211028.287546-1-icenowy@aosc.io> <65D3D4A3-8E27-4CCE-BDE9-01D5FE7F32EC@gmx.de> <0402a529e381bd8dff81db7afd6bf7b5e4dfc95d.camel@aosc.io> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH] efi_loader: allow to disable GOP support To: Icenowy Zheng ,Alexander Graf CC: u-boot@lists.denx.de From: Heinrich Schuchardt Message-ID: <62E13894-F7F3-45CC-A2AF-1763B89E9755@gmx.de> X-Provags-ID: V03:K1:9rdIoOhgnBz8q+pxvMa+BSVTkl2UbujsuU4uaPOs3jL49H2U0zF JQGmF5gArxWmF7fupArPpi9Odmm9nL1fcxMp43VxH2QXYqL/880cayLjHsawEJ2SjpZmKQq ghwMhrzIMgkA3Pd7fiQBykT4yss+AFRh6aa7UrafNgdjkWgn2pMDOasARFNpTm4ADvKwBD2 cBWHdjSJAci468ZZ/CvKQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:jY0m+X6ISjM=:QZ+EvnyboZB/7B43GFXrMO 2+igOTSj88OtbwbgXPoorhNhdR7cPSUVKvifAYSnbRl2jRKwcdPsioqU/IHgPlleuUEnGtDy2 IURDK+ccRwRQsUMhxc/zEEvEmi8iDQ8rwAiKLD0lt7ViAiOnrHb51/cjjEPp1vBSfwQQhYY9S T1/+q1h0qz4zhceno4HcG9sk0W9lmA+Viy9rlQFQvCsNBlwXr1pvw3hcKuDxyRMJh8RUgNdKP mad3weu9C/aYJ8tn0bZoTk97i43d99IdPYs4PXYo6WZAh0Db5rPGmfSwMpbAwgxVs9EaqSwQ9 PUK9iTRWziQRqpp/tCIHNixNqU1r2tPPyh7MQ8OatNGTIeRptaJL7lXxH4Ta691/Alc0IY7Xn pAsBct/uv/3aVZ3elEIi/+SUOPw3gnGYSVmZucox7a+Uzb0FQiuqMBkkwjrfCCV4Q7a7Ethfq 6BIfiVhYlXMY6Ow4cTqq2Dt6a9CRzA+GdZo2brQxVjjib21HPBj22hQLq/UxVcgy3eJg/M9tg V11U326LuIcSZ9kdRSpNAEcH1q61E54j+sVL9HnOhYqAW65v7JlK2AWAwW0brE4Sqw+L6WtrL c8As9A8hSnE5HGDpkOntd3Mih9y77WSw+2Q0SGOLh6iK0Lf6lj6XHi4ds56MtU02tz+R0X2aD dNlOmN4oxwZNRPzAZvkjd297JgHizwKGmD3lmjoW6qsft0UHAjG6hLE1SYyDZJxefua8twIt6 JFoWLbk9EkkA3wToY6yaVUEtg2x9rh41Aw+rvkvQRMhaH7Q4sPtH1ebcRyMAw22elzql/6TVX at/U0AfVW6yFlVFuBuY+O1WqC0nO1C9FFfctRHTQJDN4QfgNkljXViy0hGU2xI/Z5+rzdWWiR E4ITr7UZMoi66LJo45cLDfDOsE6NeKEJzBm8GPRvgyCASoK++d2OVX7MmR6nAGV+SEwHy8hx+ NNpnroisCIR6cqwIpZY1nhgVldGslnpLCKTZUXlno5ExztJeycWvjf1/AuVfnKh5lgIZwhyF/ OzggumxPLLHUw+V9G+grlW3TF1fmWoW+cyaB6s/TDwdy8i2csiDGRCo9cnMhghZvsNiCc6+Ts iWVMmwA4gVbsv868vbeukct+Fewf4RHeU22 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Am 16=2E Juni 2021 14:19:41 MESZ schrieb Icenowy Zheng : >=E5=9C=A8 2021-06-16=E6=98=9F=E6=9C=9F=E4=B8=89=E7=9A=84 06:59 +0200=EF= =BC=8CHeinrich Schuchardt=E5=86=99=E9=81=93=EF=BC=9A >> Am 15=2E Juni 2021 23:10:28 MESZ schrieb Icenowy Zheng >> : >> > Sometimes EFI GOP support may be not wanted (e=2Eg=2E because the >> > operating >> > system cannot operate well with it) even if video support in U-Boot >> > is >> > needed=2E >>=20 >> Which OS has which problem? >> Why don't you fix the OS? > >I'm trying RK3399 with Linux=2E 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=2E The GOP driver is not available after ExitBootServices=2E You can't use it= after the EFI stub hands over to main Linux=2E Shouldn't the Panfrost driver and Mesa be used for RK3399? https://wiki=2E= debian=2Eorg/PanfrostLima , https://www=2Ecollabora=2Ecom/news-and-blog/blo= g/2019/08/06/rockpi-panfrost-wayland/ Best regards Heinrich > >The second problem has a proposed fix, but the first problem is >mystery=2E > >>=20 >> Best regards >>=20 >> Heinrich >>=20 >>=20 >> >=20 >> > Allow to disable EFI GOP support with a Kconfig option=2E >> >=20 >> > Signed-off-by: Icenowy Zheng >> > --- >> > lib/efi_loader/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 8 ++++++++ >> > lib/efi_loader/Makefile=C2=A0=C2=A0=C2=A0 |=C2=A0 3 +-- >> > lib/efi_loader/efi_setup=2Ec | 11 ++++++----- >> > 3 files changed, 15 insertions(+), 7 deletions(-) >> >=20 >> > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig >> > index 6242caceb7=2E=2E5ba0ce6a44 100644 >> > --- a/lib/efi_loader/Kconfig >> > +++ b/lib/efi_loader/Kconfig >> > @@ -282,6 +282,14 @@ config EFI_HAVE_RUNTIME_RESET >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0depends on ARCH_BCM28= 3X || FSL_LAYERSCAPE || PSCI_RESET || >> > \ >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SANDBOX || SYSRESET_X86 >> >=20 >> > +config EFI_GOP_PROTOCOL >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0bool "EFI_GOP_PROTOCOL sup= port" >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0default y >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0depends on DM_VIDEO || LCD >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0help >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Provide a EFI_GOP_P= ROTOCOL implementation using the >> > graphics >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 hardware initialize= d by U-Boot=2E >> > + >> > config EFI_GRUB_ARM32_WORKAROUND >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0bool "Workaround for = GRUB on 32bit ARM" >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0default n if ARCH_BCM= 283X || ARCH_SUNXI || ARCH_QEMU >> > diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile >> > index fd344cea29=2E=2E826563d9a7 100644 >> > --- a/lib/efi_loader/Makefile >> > +++ b/lib/efi_loader/Makefile >> > @@ -54,8 +54,7 @@ obj-$(CONFIG_EFI_VARIABLES_PRESEED) +=3D >> > efi_var_seed=2Eo >> > endif >> > obj-y +=3D efi_watchdog=2Eo >> > obj-$(CONFIG_EFI_ESRT) +=3D efi_esrt=2Eo >> > -obj-$(CONFIG_LCD) +=3D efi_gop=2Eo >> > -obj-$(CONFIG_DM_VIDEO) +=3D efi_gop=2Eo >> > +obj-$(CONFIG_EFI_GOP_PROTOCOL) +=3D efi_gop=2Eo >> > obj-$(CONFIG_PARTITIONS) +=3D efi_disk=2Eo >> > obj-$(CONFIG_NET) +=3D efi_net=2Eo >> > obj-$(CONFIG_GENERATE_ACPI_TABLE) +=3D efi_acpi=2Eo >> > diff --git a/lib/efi_loader/efi_setup=2Ec >> > b/lib/efi_loader/efi_setup=2Ec >> > index 3c5cf9a435=2E=2E98deb63777 100644 >> > --- a/lib/efi_loader/efi_setup=2Ec >> > +++ b/lib/efi_loader/efi_setup=2Ec >> > @@ -254,11 +254,12 @@ efi_status_t efi_init_obj_list(void) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (ret !=3D EFI_SUCC= ESS) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; >> >=20 >> > -#if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO) >> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D efi_gop_register()= ; >> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (ret !=3D EFI_SUCCESS) >> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0goto out; >> > -#endif >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (IS_ENABLED(CONFIG_EFI_= GOP_PROTOCOL)) { >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0ret =3D efi_gop_register(); >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0if (ret !=3D EFI_SUCCESS) >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0got= o out; >> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0} >> > + >> > #ifdef CONFIG_NET >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D efi_net_regis= ter(); >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (ret !=3D EFI_SUCC= ESS)