mbox series

[00/11] drm: Provide common fbdev client helpers

Message ID 20240507120422.25492-1-tzimmermann@suse.de (mailing list archive)
Headers show
Series drm: Provide common fbdev client helpers | expand

Message

Thomas Zimmermann May 7, 2024, 11:58 a.m. UTC
All fbdev emulation has finally been converted to use struct
drm_client. Put the common client code into shared helpers.

There are three callbacks in struct drm_client_funcs, unregister,
restore and hotplug, which have similar implementations among the
various drivers. This can all be shared. i915 is slightly different,
but can still use some of the helper code.

Fbdev support for VGA switcheroo and non-atomic mode setting is now
entirely implemented in the fbdev helpers.

Thomas Zimmermann (11):
  drm/fb-helper: Add helpers for struct drm_client_funcs
  drm/fbdev-dma: Use fbdev client helpers
  drm/fbdev-shmem: Use fbdev client helpers
  drm/fbdev-ttm: Use fbdev client helpers
  drm/armada: Use fbdev client helpers
  drm/exynos: Use fbdev client helpers
  drm/gma500: Use fbdev client helpers
  drm/i915: Use drm_fbdev_helper_client_unregister()
  drm/msm: Use fbdev client helpers
  drm/omapdrm: Use fbdev client helpers
  drm/tegra: Use fbdev client helpers

 drivers/gpu/drm/armada/armada_fbdev.c      |  58 +-----------
 drivers/gpu/drm/drm_fb_helper.c            | 103 +++++++++++++++++++++
 drivers/gpu/drm/drm_fbdev_dma.c            |  56 +----------
 drivers/gpu/drm/drm_fbdev_shmem.c          |  56 +----------
 drivers/gpu/drm/drm_fbdev_ttm.c            |  58 +-----------
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c  |  58 +-----------
 drivers/gpu/drm/gma500/fbdev.c             |  58 +-----------
 drivers/gpu/drm/i915/display/intel_fbdev.c |  21 +----
 drivers/gpu/drm/msm/msm_fbdev.c            |  58 +-----------
 drivers/gpu/drm/omapdrm/omap_fbdev.c       |  55 +----------
 drivers/gpu/drm/radeon/radeon_fbdev.c      |  66 +------------
 drivers/gpu/drm/tegra/fbdev.c              |  58 +-----------
 include/drm/drm_fb_helper.h                |  19 ++++
 13 files changed, 154 insertions(+), 570 deletions(-)


base-commit: 980de4c8f9c4fc65bd51d355372e06dc576c3ea7