|
|
Subscribe / Log in / New account

efi: x86: Provide EDID from GOP device

From:  Thomas Zimmermann <tzimmermann-AT-suse.de>
To:  ardb-AT-kernel.org, jonathan-AT-marek.ca, javierm-AT-redhat.com
Subject:  [PATCH 0/5] efi: x86: Provide EDID from GOP device
Date:  Wed, 15 Oct 2025 17:56:29 +0200
Message-ID:  <20251015160816.525825-1-tzimmermann@suse.de>
Cc:  linux-efi-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org, linux-kernel-AT-vger.kernel.org, Thomas Zimmermann <tzimmermann-AT-suse.de>
Archive-link:  Article

Add support for EFI_EDID_ACTIVE_PROTOCOL and EFI_EDID_DISCOVERED_PROTOCOL
on x86. Refactor the GOP helpers for EDID support, then retrieve the EDID
into x86 boot_params.

Later boot code copies the EDID from the boot parameters into the global
variable edid_info. Graphics drivers, such as efidrm, can pick up the
information from there. In the case of efidrm, it provides the EDID to
user-space compositors, which use it for improved QoS on the display
output. Similar functionality is already available on old VESA systems
with vesadrm.

Tested on x86 EFI systems.

Another patch is required to provide EDID on non-x86 systems via the
generic EFI stub. The implementation can directly build upon this
series.

Thomas Zimmermann (5):
  efi: Fix trailing whitespace in header file
  efi/libstub: gop: Find GOP handle instead of GOP data
  efi/libstub: gop: Initialize screen_info in helper function
  efi/libstub: gop: Add support for reading EDID
  efi/libstub: x86: Store EDID in boot_params

 drivers/firmware/efi/libstub/efi-stub.c |   2 +-
 drivers/firmware/efi/libstub/efistub.h  |  31 +++++-
 drivers/firmware/efi/libstub/gop.c      | 137 +++++++++++++++---------
 drivers/firmware/efi/libstub/x86-stub.c |   3 +-
 include/linux/efi.h                     |   4 +-
 5 files changed, 120 insertions(+), 57 deletions(-)

-- 
2.51.0




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds