[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aSe1ZBXa3JBidhem@r1chard>
Date: Thu, 27 Nov 2025 10:20:20 +0800
From: Richard Lyu <richard.lyu@...e.com>
To: Thomas Zimmermann <tzimmermann@...e.de>, ardb@...nel.org,
javierm@...hat.com, arnd@...db.de, helgaas@...nel.org
Cc: x86@...nel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-efi@...r.kernel.org,
loongarch@...ts.linux.dev, linux-riscv@...ts.infradead.org,
dri-devel@...ts.freedesktop.org, linux-hyperv@...r.kernel.org,
linux-pci@...r.kernel.org, linux-fbdev@...r.kernel.org
Subject: Re: [PATCH v3 0/9] arch,sysfb,efi: Support EDID on non-x86 EFI
systems
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?
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.
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/20251121135624.494768-1-tzimmermann@suse.de/
> [2] https://lore.kernel.org/dri-devel/20251015160816.525825-1-tzimmermann@suse.de/
> [3] https://lore.kernel.org/linux-efi/20251119123011.1187249-5-ardb+git@google.com/
>
> 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
>
Powered by blists - more mailing lists