[PATCH 00/12] drm/{i915,xe}: Convert to DRM client setup
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Wed Feb 12 07:28:28 UTC 2025
Hey,
I'll give it a spin on xe today. It seems someone already tried on i915,
so I expect no issues.
The only question I have is do we still inherit the BIOS fb on boot
for fbdev?
The really active bit seems to be replacing the fbdev stuff with
drm_client_setup_with_color_mode
Patches themselves look good.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
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
>
More information about the dri-devel
mailing list