[PATCH 0/6] drm: Add struct drm_plane_helper_funcs.atomic_enable

Thomas Zimmermann tzimmermann at suse.de
Thu Feb 9 15:41:01 UTC 2023


Add atomic_enable, a plane helper that enables a plane. It is supposed
to be the inverse of atomic_disable.

While atomic_update can handle all of a plane's enable, disable and
update functionality, many drivers also implement atomic_disable to
do disabling separately. Some drivers also try to detect whether the
plane gets enabled and can benefit if DRM's atomic helpers already
do this. Give them the respective callback. At least in the case of
ast, avoiding to enable the primary plane improves performance with
some BMCs.

Tested on AST2100 hardware.

Thomas Zimmermann (6):
  drm/atomic-helper: Add atomic_enable plane-helper callback
  drm/ast: Implement struct drm_plane_helper_funcs.atomic_enable
  drm/mgag200: Remove disable handling from atomic_update
  drm/mgag200: Implement struct drm_plane_helper_funcs.atomic_enable
  drm/tidss: Remove return values from dispc_plane_{setup,enable}()
  drm/tidss: Implement struct drm_plane_helper_funcs.atomic_enable

 drivers/gpu/drm/ast/ast_mode.c           | 28 ++++++++++++++++-------
 drivers/gpu/drm/drm_atomic_helper.c      | 20 ++++++++++++----
 drivers/gpu/drm/mgag200/mgag200_drv.h    |  3 +++
 drivers/gpu/drm/mgag200/mgag200_mode.c   | 22 ++++++++++--------
 drivers/gpu/drm/tidss/tidss_dispc.c      | 12 ++++------
 drivers/gpu/drm/tidss/tidss_dispc.h      |  8 +++----
 drivers/gpu/drm/tidss/tidss_plane.c      | 20 ++++++++--------
 include/drm/drm_atomic_helper.h          | 26 +++++++++++++++++++++
 include/drm/drm_modeset_helper_vtables.h | 29 +++++++++++++++++++++++-
 9 files changed, 124 insertions(+), 44 deletions(-)


base-commit: 1a019dd7a5d25f7c1c9b77931138290e28947e6a
-- 
2.39.1



More information about the dri-devel mailing list