[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fc4ea259-3389-46e2-b860-972aa8179507@suse.de>
Date: Thu, 27 Nov 2025 08:43:21 +0100
From: Thomas Zimmermann <tzimmermann@...e.de>
To: Richard Lyu <richard.lyu@...e.com>, 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
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/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
>>
--
--
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)
Powered by blists - more mailing lists