From: "Guo Dong" <guo.dong@intel.com>
To: "Rhodes, Sean" <sean@starlabs.systems>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: Patrick Rudolph <patrick.rudolph@9elements.com>,
"Ma, Maurice" <maurice.ma@intel.com>,
"Ni, Ray" <ray.ni@intel.com>,
"You, Benjamin" <benjamin.you@intel.com>
Subject: Re: [PATCH 15/18] UefiPayloadPkg/Library/PlatformBootManagerLib: Remove broken VGA detection
Date: Wed, 16 Feb 2022 23:51:04 +0000 [thread overview]
Message-ID: <BYAPR11MB36228FC1FB4C9FCC14E18F0F9E359@BYAPR11MB3622.namprd11.prod.outlook.com> (raw)
In-Reply-To: <253cc473e4d3e77a4edf6e365a52d7a54c6f1703.1644527848.git.sean@starlabs.systems>
Reviewed-by: Guo Dong <guo.dong@intel.com>
-----Original Message-----
From: Sean Rhodes <sean@starlabs.systems>
Sent: Thursday, February 10, 2022 2:28 PM
To: devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Patrick Rudolph <patrick.rudolph@9elements.com>
Subject: [PATCH 15/18] UefiPayloadPkg/Library/PlatformBootManagerLib: Remove broken VGA detection
From: Patrick Rudolph <patrick.rudolph@9elements.com>
This fixes an issue where the framebuffer provided by coreboot or slimbootloader will only work on the primary VGA device. If the framebuffer corresponds to a different device the screen will stay black.
In addition, the code doesn't work for multiple graphic cards, has reference to non existing functions, and is a duplication of common code.
Call EfiBootManagerConnectVideoController on every display device found, not only the legacy VGA device. This is the same as OvmfPkg does.
Allows to display output on the framebuffer set up by firmware, which might not be the VGA device.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
.../PlatformBootManagerLib/PlatformConsole.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c
index c93c7c99b5..bfaf89e74c 100644
--- a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c
+++ b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c
@@ -109,7 +109,7 @@ EFI_DEVICE_PATH_PROTOCOL *gPlatformRootBridges[] = {
NULL }; -BOOLEAN mDetectVgaOnly;+BOOLEAN mDetectDisplayOnly; /** Add IsaKeyboard to ConIn; add IsaSerial to ConOut, ConIn, ErrOut.@@ -482,7 +482,7 @@ DetectAndPreparePlatformPciDevicePath (
); ASSERT_EFI_ERROR (Status); - if (!mDetectVgaOnly) {+ if (!mDetectDisplayOnly) { // // Here we decide whether it is LPC Bridge //@@ -515,14 +515,14 @@ DetectAndPreparePlatformPciDevicePath (
} //- // Here we decide which VGA device to enable in PCI bus+ // Enable all display devices //- if (IS_PCI_VGA (Pci)) {+ if (IS_PCI_DISPLAY (Pci)) { // // Add them to ConOut. //- DEBUG ((DEBUG_INFO, "Found PCI VGA device\n"));- PreparePciVgaDevicePath (Handle);+ DEBUG ((DEBUG_INFO, "Found PCI Display device\n"));+ EfiBootManagerConnectVideoController (Handle); return EFI_SUCCESS; } @@ -532,7 +532,7 @@ DetectAndPreparePlatformPciDevicePath (
/** Do platform specific PCI Device check and add them to ConOut, ConIn, ErrOut - @param[in] DetectVgaOnly - Only detect VGA device if it's TRUE.+ @param[in] DetectDisplayOnly - Only detect display device if it's TRUE. @retval EFI_SUCCESS - PCI Device check and Console variable update successfully. @retval EFI_STATUS - PCI Device check or Console variable update fail.@@ -540,10 +540,10 @@ DetectAndPreparePlatformPciDevicePath (
**/ EFI_STATUS DetectAndPreparePlatformPciDevicePaths (- BOOLEAN DetectVgaOnly+ BOOLEAN DetectDisplayOnly ) {- mDetectVgaOnly = DetectVgaOnly;+ mDetectDisplayOnly = DetectDisplayOnly; EfiBootManagerUpdateConsoleVariable ( ConIn,--
2.32.0
next prev parent reply other threads:[~2022-02-16 23:51 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <df21ef7edddfef8074ba94514bf73d7a5d0d6046.1644527848.git.sean@starlabs.systems>
2022-02-10 21:20 ` [PATCH 02/18] UefiPayloadPkg: Provide option to use Boot Splash Sean Rhodes
2022-02-10 21:23 ` [PATCH 03/18] MdeModulePackage: Add option to follow BGRT spec Sean Rhodes
2022-02-10 21:23 ` [PATCH 04/18] UefiPayloadPkg: Hookup BGRT build option Sean Rhodes
2022-02-10 21:23 ` [PATCH 05/18] UefiPayloadPkg: Make Boot Manager Key configurable Sean Rhodes
2022-02-10 21:24 ` [PATCH 06/18] UefiPayloadPkg: Add build option for Above 4G Memory Sean Rhodes
2022-02-10 21:24 ` [PATCH 08/18] UefiPayloadPkg: Fix case of protocol Sean Rhodes
2022-02-20 18:11 ` [edk2-devel] " Patrick Rudolph
2022-02-10 21:25 ` [PATCH 09/18] SdMmcPciDxe: Reduce timeout for SD card reset Sean Rhodes
2022-02-11 3:15 ` Wu, Hao A
2022-02-10 21:25 ` [PATCH 10/18] BlSupportSmm: fix definition of SetSmrr() Sean Rhodes
2022-02-20 18:09 ` [edk2-devel] " Patrick Rudolph
2022-02-10 21:25 ` [PATCH 11/18] UefiPayloadPkg: Make Boot Timeout configurable Sean Rhodes
2022-02-10 21:26 ` [PATCH 12/18] Ps2KbdCtrller: Make wait for SUCCESS after BAT non-fatal Sean Rhodes
2022-02-11 3:12 ` Wu, Hao A
2022-02-10 21:27 ` [PATCH 13/18] MdeModulePkg/Usb/Keyboard.c: don't request protocol before setting Sean Rhodes
2022-02-11 3:32 ` Wu, Hao A
2022-02-11 22:45 ` MrChromebox
2022-02-18 2:17 ` [edk2-devel] " Wu, Hao A
2022-02-10 21:27 ` [PATCH 14/18] UefiPayloadPkg: Add RNG support Sean Rhodes
2022-02-16 23:57 ` Guo Dong
2022-02-10 21:27 ` [PATCH 15/18] UefiPayloadPkg/Library/PlatformBootManagerLib: Remove broken VGA detection Sean Rhodes
2022-02-16 23:51 ` Guo Dong [this message]
2022-03-21 9:48 ` [edk2-devel] " Sean Rhodes
2022-03-29 17:32 ` Guo Dong
2022-03-29 17:34 ` Sean Rhodes
2022-03-29 18:01 ` Guo Dong
2022-03-29 18:04 ` Sean Rhodes
2022-03-29 18:22 ` Guo Dong
2022-02-10 21:28 ` [PATCH 16/18] UefiCpuPkg: Disable MTRR programming for UefiPayloadPkg Sean Rhodes
2022-02-10 22:06 ` [edk2-devel] " Michael D Kinney
2022-02-11 7:12 ` Patrick Rudolph
2022-02-10 21:29 ` [PATCH 17/18] BmBoot: prioritize internal boot devices over external Sean Rhodes
2022-02-10 21:29 ` [PATCH 18/18] UefiPayloadPkg: Hookup Prioritise Internal build option Sean Rhodes
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-list 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=BYAPR11MB36228FC1FB4C9FCC14E18F0F9E359@BYAPR11MB3622.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox