arch/arm64/kernel/image-vars.h | 2 +- arch/loongarch/kernel/efi.c | 11 +-- 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 | 14 ++-- drivers/firmware/efi/libstub/efi-stub-entry.c | 18 +++-- 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 | 1 - 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/screen_info.h | 2 - include/linux/sysfb.h | 23 ++++-- include/video/edid.h | 4 - 26 files changed, 177 insertions(+), 143 deletions(-)
Replace screen_info and edid_info with sysfb_primary_device of type struct sysfb_display_info. Update all users. 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. The short-term benefit of this series is in patches 5 and 6. With sysfb_primary_display in place a follow-up series will improve EFI support for EDID as outlined in the series at [1] and [2]. [1] https://lore.kernel.org/dri-devel/20251015160816.525825-1-tzimmermann@suse.de/ [2] https://lore.kernel.org/linux-efi/20251119123011.1187249-5-ardb+git@google.com/ Thomas Zimmermann (6): 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 arch/arm64/kernel/image-vars.h | 2 +- arch/loongarch/kernel/efi.c | 11 +-- 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 | 14 ++-- drivers/firmware/efi/libstub/efi-stub-entry.c | 18 +++-- 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 | 1 - 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/screen_info.h | 2 - include/linux/sysfb.h | 23 ++++-- include/video/edid.h | 4 - 26 files changed, 177 insertions(+), 143 deletions(-) base-commit: 57e807d4454add8b60e8807ad1cf812141f34cdb -- 2.51.1
On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
> Replace screen_info and edid_info with sysfb_primary_device of type
> struct sysfb_display_info. Update all users.
>
> 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.
This all looks good to me,
Acked-by: Arnd Bergmann <arnd@arndb.de>
It should also bring us one step closer to eventually
disconnecting the x86 boot ABI from the kernel-internal
sysfb_primary_display.
Arnd
On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote: > > On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote: > > Replace screen_info and edid_info with sysfb_primary_device of type > > struct sysfb_display_info. Update all users. > > > > 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. > > This all looks good to me, > > Acked-by: Arnd Bergmann <arnd@arndb.de> > > It should also bring us one step closer to eventually > disconnecting the x86 boot ABI from the kernel-internal > sysfb_primary_display. > Agreed Acked-by: Ard Biesheuvel <ardb@kernel.org> I can take patches 1-2 right away, if that helps during the next cycle.
Hi Am 21.11.25 um 16:16 schrieb Ard Biesheuvel: > On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote: >> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote: >>> Replace screen_info and edid_info with sysfb_primary_device of type >>> struct sysfb_display_info. Update all users. >>> >>> 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. >> This all looks good to me, >> >> Acked-by: Arnd Bergmann <arnd@arndb.de> Thanks >> >> It should also bring us one step closer to eventually >> disconnecting the x86 boot ABI from the kernel-internal >> sysfb_primary_display. >> > Agreed > > Acked-by: Ard Biesheuvel <ardb@kernel.org> Thanks > > I can take patches 1-2 right away, if that helps during the next cycle. From my sysfb-focused POV, these patches would ideally all go through the same tree, say efi or generic arch, or whatever fits best. Most of the other code is only renames anyway. Best regards Thomas -- -- 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)
On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de> wrote: > > Hi > > Am 21.11.25 um 16:16 schrieb Ard Biesheuvel: > > On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote: > >> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote: > >>> Replace screen_info and edid_info with sysfb_primary_device of type > >>> struct sysfb_display_info. Update all users. > >>> > >>> 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. > >> This all looks good to me, > >> > >> Acked-by: Arnd Bergmann <arnd@arndb.de> > > Thanks > > >> > >> It should also bring us one step closer to eventually > >> disconnecting the x86 boot ABI from the kernel-internal > >> sysfb_primary_display. > >> > > Agreed > > > > Acked-by: Ard Biesheuvel <ardb@kernel.org> > > Thanks > > > > > I can take patches 1-2 right away, if that helps during the next cycle. > > From my sysfb-focused POV, these patches would ideally all go through > the same tree, say efi or generic arch, or whatever fits best. Most of > the other code is only renames anyway. > I don't mind queueing all of it, but I did get a conflict on drivers/pci/vgaarb.c
Hi
Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
>>>>> struct sysfb_display_info. Update all users.
>>>>>
>>>>> 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.
>>>> This all looks good to me,
>>>>
>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
>> Thanks
>>
>>>> It should also bring us one step closer to eventually
>>>> disconnecting the x86 boot ABI from the kernel-internal
>>>> sysfb_primary_display.
>>>>
>>> Agreed
>>>
>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
>> Thanks
>>
>>> I can take patches 1-2 right away, if that helps during the next cycle.
>> From my sysfb-focused POV, these patches would ideally all go through
>> the same tree, say efi or generic arch, or whatever fits best. Most of
>> the other code is only renames anyway.
>>
> I don't mind queueing all of it, but I did get a conflict on
> drivers/pci/vgaarb.c
Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86") that I
have in my tree. You can fix it by replacing screen_info with
sysfb_primary_display.screen. The later merge conflict seems manageable.
Best regards
Thomas
--
--
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)
Am 21.11.25 um 17:08 schrieb Thomas Zimmermann:
> Hi
>
> Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
>> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de>
>> wrote:
>>> Hi
>>>
>>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
>>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
>>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
>>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
>>>>>> struct sysfb_display_info. Update all users.
>>>>>>
>>>>>> 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.
>>>>> This all looks good to me,
>>>>>
>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
>>> Thanks
>>>
>>>>> It should also bring us one step closer to eventually
>>>>> disconnecting the x86 boot ABI from the kernel-internal
>>>>> sysfb_primary_display.
>>>>>
>>>> Agreed
>>>>
>>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
>>> Thanks
>>>
>>>> I can take patches 1-2 right away, if that helps during the next
>>>> cycle.
>>> From my sysfb-focused POV, these patches would ideally all go through
>>> the same tree, say efi or generic arch, or whatever fits best. Most of
>>> the other code is only renames anyway.
>>>
>> I don't mind queueing all of it, but I did get a conflict on
>> drivers/pci/vgaarb.c
>
> Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86")
https://lore.kernel.org/all/20251013220829.1536292-1-superm1@kernel.org/
> that I have in my tree. You can fix it by replacing screen_info with
> sysfb_primary_display.screen. The later merge conflict seems manageable.
>
> Best regards
> Thomas
>
>
--
--
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)
On Fri, 21 Nov 2025 at 17:09, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
>
>
> Am 21.11.25 um 17:08 schrieb Thomas Zimmermann:
> > Hi
> >
> > Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
> >> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de>
> >> wrote:
> >>> Hi
> >>>
> >>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
> >>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
> >>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
> >>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
> >>>>>> struct sysfb_display_info. Update all users.
> >>>>>>
> >>>>>> 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.
> >>>>> This all looks good to me,
> >>>>>
> >>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
> >>> Thanks
> >>>
> >>>>> It should also bring us one step closer to eventually
> >>>>> disconnecting the x86 boot ABI from the kernel-internal
> >>>>> sysfb_primary_display.
> >>>>>
> >>>> Agreed
> >>>>
> >>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
> >>> Thanks
> >>>
> >>>> I can take patches 1-2 right away, if that helps during the next
> >>>> cycle.
> >>> From my sysfb-focused POV, these patches would ideally all go through
> >>> the same tree, say efi or generic arch, or whatever fits best. Most of
> >>> the other code is only renames anyway.
> >>>
> >> I don't mind queueing all of it, but I did get a conflict on
> >> drivers/pci/vgaarb.c
> >
> > Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86")
>
> https://lore.kernel.org/all/20251013220829.1536292-1-superm1@kernel.org/
>
Yes, if I merge back -rc2 first, I can apply patches 1-5 onto my
efi/next tree. But then I hit
Applying: sysfb: Move edid_info into sysfb_primary_display
error: sha1 information is lacking or useless (drivers/gpu/drm/sysfb/efidrm.c).
error: could not build fake ancestor
Patch failed at 0006 sysfb: Move edid_info into sysfb_primary_display
If you prefer, you can take the whole lot via the sysfb tree instead,
assuming it does not depend on the EDID changes I already queued up?
Hi
Am 21.11.25 um 17:19 schrieb Ard Biesheuvel:
> On Fri, 21 Nov 2025 at 17:09, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>
>>
>> Am 21.11.25 um 17:08 schrieb Thomas Zimmermann:
>>> Hi
>>>
>>> Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
>>>> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de>
>>>> wrote:
>>>>> Hi
>>>>>
>>>>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
>>>>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
>>>>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
>>>>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
>>>>>>>> struct sysfb_display_info. Update all users.
>>>>>>>>
>>>>>>>> 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.
>>>>>>> This all looks good to me,
>>>>>>>
>>>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
>>>>> Thanks
>>>>>
>>>>>>> It should also bring us one step closer to eventually
>>>>>>> disconnecting the x86 boot ABI from the kernel-internal
>>>>>>> sysfb_primary_display.
>>>>>>>
>>>>>> Agreed
>>>>>>
>>>>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
>>>>> Thanks
>>>>>
>>>>>> I can take patches 1-2 right away, if that helps during the next
>>>>>> cycle.
>>>>> From my sysfb-focused POV, these patches would ideally all go through
>>>>> the same tree, say efi or generic arch, or whatever fits best. Most of
>>>>> the other code is only renames anyway.
>>>>>
>>>> I don't mind queueing all of it, but I did get a conflict on
>>>> drivers/pci/vgaarb.c
>>> Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86")
>> https://lore.kernel.org/all/20251013220829.1536292-1-superm1@kernel.org/
>>
> Yes, if I merge back -rc2 first, I can apply patches 1-5 onto my
> efi/next tree. But then I hit
>
> Applying: sysfb: Move edid_info into sysfb_primary_display
> error: sha1 information is lacking or useless (drivers/gpu/drm/sysfb/efidrm.c).
> error: could not build fake ancestor
> Patch failed at 0006 sysfb: Move edid_info into sysfb_primary_display
>
> If you prefer, you can take the whole lot via the sysfb tree instead,
> assuming it does not depend on the EDID changes I already queued up?
Sure, I can also add it to the drm-misc tree. ETA in upstream would be
v6.20-rc1.
Best regards
Thomas
--
--
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)
On Fri, 21 Nov 2025 at 17:26, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> Hi
>
> Am 21.11.25 um 17:19 schrieb Ard Biesheuvel:
> > On Fri, 21 Nov 2025 at 17:09, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> >>
> >>
> >> Am 21.11.25 um 17:08 schrieb Thomas Zimmermann:
> >>> Hi
> >>>
> >>> Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
> >>>> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de>
> >>>> wrote:
> >>>>> Hi
> >>>>>
> >>>>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
> >>>>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
> >>>>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
> >>>>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
> >>>>>>>> struct sysfb_display_info. Update all users.
> >>>>>>>>
> >>>>>>>> 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.
> >>>>>>> This all looks good to me,
> >>>>>>>
> >>>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
> >>>>> Thanks
> >>>>>
> >>>>>>> It should also bring us one step closer to eventually
> >>>>>>> disconnecting the x86 boot ABI from the kernel-internal
> >>>>>>> sysfb_primary_display.
> >>>>>>>
> >>>>>> Agreed
> >>>>>>
> >>>>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
> >>>>> Thanks
> >>>>>
> >>>>>> I can take patches 1-2 right away, if that helps during the next
> >>>>>> cycle.
> >>>>> From my sysfb-focused POV, these patches would ideally all go through
> >>>>> the same tree, say efi or generic arch, or whatever fits best. Most of
> >>>>> the other code is only renames anyway.
> >>>>>
> >>>> I don't mind queueing all of it, but I did get a conflict on
> >>>> drivers/pci/vgaarb.c
> >>> Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86")
> >> https://lore.kernel.org/all/20251013220829.1536292-1-superm1@kernel.org/
> >>
> > Yes, if I merge back -rc2 first, I can apply patches 1-5 onto my
> > efi/next tree. But then I hit
> >
> > Applying: sysfb: Move edid_info into sysfb_primary_display
> > error: sha1 information is lacking or useless (drivers/gpu/drm/sysfb/efidrm.c).
> > error: could not build fake ancestor
> > Patch failed at 0006 sysfb: Move edid_info into sysfb_primary_display
> >
> > If you prefer, you can take the whole lot via the sysfb tree instead,
> > assuming it does not depend on the EDID changes I already queued up?
>
> Sure, I can also add it to the drm-misc tree. ETA in upstream would be
> v6.20-rc1.
>
But does that mean the EDID firmware on non-x86 will have to wait for
6.21? I was trying to avoid making this a 6 month effort.
Hi
Am 21.11.25 um 17:31 schrieb Ard Biesheuvel:
> On Fri, 21 Nov 2025 at 17:26, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 21.11.25 um 17:19 schrieb Ard Biesheuvel:
>>> On Fri, 21 Nov 2025 at 17:09, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>
>>>> Am 21.11.25 um 17:08 schrieb Thomas Zimmermann:
>>>>> Hi
>>>>>
>>>>> Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
>>>>>> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de>
>>>>>> wrote:
>>>>>>> Hi
>>>>>>>
>>>>>>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
>>>>>>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
>>>>>>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
>>>>>>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
>>>>>>>>>> struct sysfb_display_info. Update all users.
>>>>>>>>>>
>>>>>>>>>> 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.
>>>>>>>>> This all looks good to me,
>>>>>>>>>
>>>>>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
>>>>>>> Thanks
>>>>>>>
>>>>>>>>> It should also bring us one step closer to eventually
>>>>>>>>> disconnecting the x86 boot ABI from the kernel-internal
>>>>>>>>> sysfb_primary_display.
>>>>>>>>>
>>>>>>>> Agreed
>>>>>>>>
>>>>>>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
>>>>>>> Thanks
>>>>>>>
>>>>>>>> I can take patches 1-2 right away, if that helps during the next
>>>>>>>> cycle.
>>>>>>> From my sysfb-focused POV, these patches would ideally all go through
>>>>>>> the same tree, say efi or generic arch, or whatever fits best. Most of
>>>>>>> the other code is only renames anyway.
>>>>>>>
>>>>>> I don't mind queueing all of it, but I did get a conflict on
>>>>>> drivers/pci/vgaarb.c
>>>>> Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86")
>>>> https://lore.kernel.org/all/20251013220829.1536292-1-superm1@kernel.org/
>>>>
>>> Yes, if I merge back -rc2 first, I can apply patches 1-5 onto my
>>> efi/next tree. But then I hit
>>>
>>> Applying: sysfb: Move edid_info into sysfb_primary_display
>>> error: sha1 information is lacking or useless (drivers/gpu/drm/sysfb/efidrm.c).
>>> error: could not build fake ancestor
>>> Patch failed at 0006 sysfb: Move edid_info into sysfb_primary_display
>>>
>>> If you prefer, you can take the whole lot via the sysfb tree instead,
>>> assuming it does not depend on the EDID changes I already queued up?
>> Sure, I can also add it to the drm-misc tree. ETA in upstream would be
>> v6.20-rc1.
>>
> But does that mean the EDID firmware on non-x86 will have to wait for
> 6.21? I was trying to avoid making this a 6 month effort.
No problem. Then let me rebase onto linux-next and put the existing EDID
patches for EFI on top. It's mostly acked or reviewed already. Once we
have it in good shape we can merged it all at once via the linux-efi
tree. Does that work for you?
Best regards
Thomas
--
--
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)
On Sat, 22 Nov 2025 at 11:52, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>
> Hi
>
> Am 21.11.25 um 17:31 schrieb Ard Biesheuvel:
> > On Fri, 21 Nov 2025 at 17:26, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> >> Hi
> >>
> >> Am 21.11.25 um 17:19 schrieb Ard Biesheuvel:
> >>> On Fri, 21 Nov 2025 at 17:09, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> >>>>
> >>>> Am 21.11.25 um 17:08 schrieb Thomas Zimmermann:
> >>>>> Hi
> >>>>>
> >>>>> Am 21.11.25 um 16:56 schrieb Ard Biesheuvel:
> >>>>>> On Fri, 21 Nov 2025 at 16:53, Thomas Zimmermann <tzimmermann@suse.de>
> >>>>>> wrote:
> >>>>>>> Hi
> >>>>>>>
> >>>>>>> Am 21.11.25 um 16:16 schrieb Ard Biesheuvel:
> >>>>>>>> On Fri, 21 Nov 2025 at 16:10, Arnd Bergmann <arnd@arndb.de> wrote:
> >>>>>>>>> On Fri, Nov 21, 2025, at 14:36, Thomas Zimmermann wrote:
> >>>>>>>>>> Replace screen_info and edid_info with sysfb_primary_device of type
> >>>>>>>>>> struct sysfb_display_info. Update all users.
> >>>>>>>>>>
> >>>>>>>>>> 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.
> >>>>>>>>> This all looks good to me,
> >>>>>>>>>
> >>>>>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
> >>>>>>> Thanks
> >>>>>>>
> >>>>>>>>> It should also bring us one step closer to eventually
> >>>>>>>>> disconnecting the x86 boot ABI from the kernel-internal
> >>>>>>>>> sysfb_primary_display.
> >>>>>>>>>
> >>>>>>>> Agreed
> >>>>>>>>
> >>>>>>>> Acked-by: Ard Biesheuvel <ardb@kernel.org>
> >>>>>>> Thanks
> >>>>>>>
> >>>>>>>> I can take patches 1-2 right away, if that helps during the next
> >>>>>>>> cycle.
> >>>>>>> From my sysfb-focused POV, these patches would ideally all go through
> >>>>>>> the same tree, say efi or generic arch, or whatever fits best. Most of
> >>>>>>> the other code is only renames anyway.
> >>>>>>>
> >>>>>> I don't mind queueing all of it, but I did get a conflict on
> >>>>>> drivers/pci/vgaarb.c
> >>>>> Probably from a78835b86a44 ("PCI/VGA: Select SCREEN_INFO on X86")
> >>>> https://lore.kernel.org/all/20251013220829.1536292-1-superm1@kernel.org/
> >>>>
> >>> Yes, if I merge back -rc2 first, I can apply patches 1-5 onto my
> >>> efi/next tree. But then I hit
> >>>
> >>> Applying: sysfb: Move edid_info into sysfb_primary_display
> >>> error: sha1 information is lacking or useless (drivers/gpu/drm/sysfb/efidrm.c).
> >>> error: could not build fake ancestor
> >>> Patch failed at 0006 sysfb: Move edid_info into sysfb_primary_display
> >>>
> >>> If you prefer, you can take the whole lot via the sysfb tree instead,
> >>> assuming it does not depend on the EDID changes I already queued up?
> >> Sure, I can also add it to the drm-misc tree. ETA in upstream would be
> >> v6.20-rc1.
> >>
> > But does that mean the EDID firmware on non-x86 will have to wait for
> > 6.21? I was trying to avoid making this a 6 month effort.
>
> No problem. Then let me rebase onto linux-next and put the existing EDID
> patches for EFI on top. It's mostly acked or reviewed already. Once we
> have it in good shape we can merged it all at once via the linux-efi
> tree. Does that work for you?
>
Sounds good.
© 2016 - 2025 Red Hat, Inc.