Hi

Am 27.11.25 um 03:20 schrieb Richard Lyu:
Hi Thomas,

I am attempting to test this patch series but encountered merge conflicts when 
applying it to various trees.
Could you please clarify the specific base commit (or branch/tag) this series 
was generated against?

Thanks for testing.


When testing on the next branch on commits 7a2ff00 and e41ef37, I hit a 
conflict on PATCH v3 4/9:
patching file drivers/pci/vgaarb.c
Hunk #2 FAILED at 557.
1 out of 2 hunks FAILED -- rejects in file drivers/pci/vgaarb.c

When testing against 3a86608 (Linux 6.18-rc1), the following conflicts occurred:
patching file drivers/gpu/drm/sysfb/efidrm.c
Hunk #1 FAILED at 24.
1 out of 2 hunks FAILED -- rejects in file drivers/gpu/drm/sysfb/efidrm.c
patching file drivers/gpu/drm/sysfb/vesadrm.c
Hunk #1 FAILED at 25.
1 out of 2 hunks FAILED -- rejects in file drivers/gpu/drm/sysfb/vesadrm.c

Please let me know the correct base, and I will retest.

It's in the cover letter: d724c6f85e80a23ed46b7ebc6e38b527c09d64f5 The commit is in linux-next. The idea is that the EFI tree can pick up the changes easily in the next cycle. linux-next seemed like the best choice. Best regards Thomas

Thanks,
Richard Lyu

On 2025/11/26 17:03, Thomas Zimmermann wrote:
Replace screen_info and edid_info with sysfb_primary_device of type
struct sysfb_display_info. Update all users. Then implement EDID support
in the kernel EFI code.

Sysfb DRM drivers currently fetch the global edid_info directly, when
they should get that information together with the screen_info from their
device. Wrapping screen_info and edid_info in sysfb_primary_display and
passing this to drivers enables this.

Replacing both with sysfb_primary_display has been motivate by the EFI
stub. EFI wants to transfer EDID via config table in a single entry.
Using struct sysfb_display_info this will become easily possible. Hence
accept some churn in architecture code for the long-term improvements.

Patches 1 and 2 reduce the exposure of screen_info in EFI-related code.

Patch 3 adds struct sysfb_display_info.

Patch 4 replaces scren_info with sysfb_primary_display. This results in
several changes throught the kernel, but is really just a refactoring.

Patch 5 updates sysfb to transfer sysfb_primary_display to the related
drivers.

Patch 6 moves edid_info into sysfb_primary_display. This resolves some
drivers' reference to the global edid_info, but also makes the EDID data
available on non-x86 architectures.

Patches 7 and 8 add support for EDID transfers on non-x86 EFI systems.

Patch 9 cleans up the config-table allocation to be easier to understand.

v3:
- replace SCREEN_INFO table entry (Ard)
- merge libstub patch into kernel patch
v2:
- combine v1 of the series at [1] plus changes from [2] and [3].

[1] 
https://lore.kernel.org/dri-devel/[email protected]/
[2] 
https://lore.kernel.org/dri-devel/[email protected]/
[3] 
https://lore.kernel.org/linux-efi/[email protected]/

Thomas Zimmermann (9):
   efi: earlycon: Reduce number of references to global screen_info
   efi: sysfb_efi: Reduce number of references to global screen_info
   sysfb: Add struct sysfb_display_info
   sysfb: Replace screen_info with sysfb_primary_display
   sysfb: Pass sysfb_primary_display to devices
   sysfb: Move edid_info into sysfb_primary_display
   efi: Refactor init_primary_display() helpers
   efi: Support EDID information
   efi: libstub: Simplify interfaces for primary_display

  arch/arm64/kernel/image-vars.h                |  2 +-
  arch/loongarch/kernel/efi.c                   | 38 ++++-----
  arch/loongarch/kernel/image-vars.h            |  2 +-
  arch/riscv/kernel/image-vars.h                |  2 +-
  arch/x86/kernel/kexec-bzimage64.c             |  4 +-
  arch/x86/kernel/setup.c                       | 16 ++--
  arch/x86/video/video-common.c                 |  4 +-
  drivers/firmware/efi/earlycon.c               | 42 +++++-----
  drivers/firmware/efi/efi-init.c               | 46 ++++++-----
  drivers/firmware/efi/efi.c                    |  4 +-
  drivers/firmware/efi/libstub/Makefile         |  2 +-
  drivers/firmware/efi/libstub/efi-stub-entry.c | 36 +++++++--
  drivers/firmware/efi/libstub/efi-stub.c       | 49 +++++++----
  drivers/firmware/efi/libstub/efistub.h        |  7 +-
  .../firmware/efi/libstub/primary_display.c    | 41 ++++++++++
  drivers/firmware/efi/libstub/screen_info.c    | 53 ------------
  drivers/firmware/efi/libstub/zboot.c          |  6 +-
  drivers/firmware/efi/sysfb_efi.c              | 81 ++++++++++---------
  drivers/firmware/sysfb.c                      | 13 +--
  drivers/firmware/sysfb_simplefb.c             |  2 +-
  drivers/gpu/drm/sysfb/efidrm.c                | 14 ++--
  drivers/gpu/drm/sysfb/vesadrm.c               | 14 ++--
  drivers/hv/vmbus_drv.c                        |  6 +-
  drivers/pci/vgaarb.c                          |  4 +-
  drivers/video/Kconfig                         |  8 +-
  drivers/video/fbdev/core/fbmon.c              |  8 +-
  drivers/video/fbdev/efifb.c                   | 10 ++-
  drivers/video/fbdev/vesafb.c                  | 10 ++-
  drivers/video/fbdev/vga16fb.c                 |  8 +-
  drivers/video/screen_info_pci.c               |  5 +-
  include/linux/efi.h                           |  9 ++-
  include/linux/screen_info.h                   |  2 -
  include/linux/sysfb.h                         | 23 ++++--
  include/video/edid.h                          |  4 -
  34 files changed, 321 insertions(+), 254 deletions(-)
  create mode 100644 drivers/firmware/efi/libstub/primary_display.c
  delete mode 100644 drivers/firmware/efi/libstub/screen_info.c


base-commit: d724c6f85e80a23ed46b7ebc6e38b527c09d64f5
--
2.51.1


--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)


Reply via email to