[PATCH 00/12] drm/{i915,xe}: Convert to DRM client setup

Thomas Zimmermann tzimmermann at suse.de
Wed Feb 12 07:42:45 UTC 2025


Hi

Am 12.02.25 um 08:28 schrieb Maarten Lankhorst:
> Hey,
>
> I'll give it a spin on xe today. It seems someone already tried on i915,
> so I expect no issues.

Thanks for testing.

>
> The only question I have is do we still inherit the BIOS fb on boot
> for fbdev?

I tried to not break that code. It still uses the active framebuffer and 
picks its color format for the framebuffer console.

>
> The really active bit seems to be replacing the fbdev stuff with
> drm_client_setup_with_color_mode

The old preferred_bpp and the color mode are the same values. The 
intention here is to not change anything. I guess I should have renamed 
the preferred_bpp variable.


>
> Patches themselves look good.
>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

Thanks a lot.

Best regards
Thomas

>
> On 2025-02-11 08:17, Thomas Zimmermann wrote:
>> ping for a review
>>
>> Am 12.12.24 um 18:08 schrieb Thomas Zimmermann:
>>> i915 and xe are the last remaining drivers that still implement their
>>> own fbdev client. All other clients have been mass converted to DRM's
>>> client setup in in the series at [1]. As Intel drivers require more
>>> effort than others, their changes have been moved into this separate
>>> series.
>>>
>>> With DRM's client setup, DRM picks the in-kernel client from the
>>> kernel's config and parameters. Besides fbdev there's also drm_log
>>> available. For fbdev support, the driver only has to implement struct
>>> drm_driver.fbdev_probe, a callback that allocates a compatible
>>> framebuffer.
>>>
>>> At first, some details of the Intel implementation have to be rebuild
>>> for the generic client and fbdev handling. Patches 1 to 6 do that.
>>> Hotplugging and suspend/resume are then hidden behind callbacks. Some
>>> Intel-specifics in the restore and suspend code get their own hooks.
>>>
>>> Patches 7 to 9 prepare Intel's fbdev implementation ot get things
>>> out of the way.
>>>
>>> Patch 10 converts i915 and xe to DRM's client setup. Patches 11 and
>>> 12 clean up the remaining code.
>>>
>>> Tested with i915 and xe hardware.
>>>
>>> [1] https://patchwork.freedesktop.org/series/137391/
>>>
>>> Thomas Zimmermann (12):
>>>    drm/{i915,xe}: Suspend/resume fbdev emulation via client interfaces
>>>    drm/client: Add client-hotplug helper
>>>    drm/client: Send pending hotplug events after resume
>>>    drm/i915/display: Remove fbdev suspend and hotplug tracking
>>>    drm/i915/display: fbdev: Move custom restore code to new callback
>>>    drm/i915/display: fbdev: Move custom suspend code to new callback
>>>    drm/i915/display: Remove preferred_bpp from struct intel_fbdev
>>>    drm/i915/display: Remove struct drm_fb_helper from struct 
>>> intel_fbdev
>>>    drm/i915/display: Move fbdev code around
>>>    drm/{i915,xe}: Run DRM default client setup
>>>    drm/i915/display: Remove compile guard around fbdev debugfs output
>>>    drm/fb-helper: Remove struct drm_fb_helper.fb_probe
>>>
>>>   drivers/gpu/drm/drm_client_event.c            |  41 ++-
>>>   drivers/gpu/drm/drm_fb_helper.c               |  20 +-
>>>   .../gpu/drm/i915/display/intel_display_core.h |   1 -
>>>   .../drm/i915/display/intel_display_debugfs.c  |   2 -
>>>   drivers/gpu/drm/i915/display/intel_fbdev.c    | 338 
>>> ++++--------------
>>>   drivers/gpu/drm/i915/display/intel_fbdev.h    |  17 +-
>>>   drivers/gpu/drm/i915/i915_driver.c            |  10 +-
>>>   drivers/gpu/drm/xe/display/xe_display.c       |  12 +-
>>>   include/drm/drm_client.h                      |   8 +
>>>   include/drm/drm_fb_helper.h                   |  44 ++-
>>>   10 files changed, 176 insertions(+), 317 deletions(-)
>>>
>>>
>>> base-commit: 7bbcd7df9387f0d9004f997df33f7a9472d9c080
>>
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)



More information about the dri-devel mailing list