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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-- 
2.47.1




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux