[PATCH 0/9] drm/ast: Convert to atomic modesetting

Thomas Zimmermann tzimmermann at suse.de
Mon Oct 28 15:49:19 UTC 2019

This patch set adds universal planes to ast and converts the driver to
atomic modesetting.

The first patch is purely for clean-up.

Patches 2 to 5 prepare the ast modesetting code for universal planes and
atomic modesetting. The size calculation for each mode has to take double
buffering into account. Several functions have to be split to make them
work with the separate check and update on CRTCs and planes. There are no
functional changes.

Patches 6 to 8 add atomic modesetting code for planes and CRTC. Planes
immediately provide atomic functions. There's no intermediate step with
legacy functions for non-atomic drivers. The cursor plane HW only
supports ARGB4444, so the cursor plane converts the format internally;
just as the legacy implementation did.

Finally, patch 9 adds missing helpers and enables atomic modesetting. The
CRTC functions now provide page_flip, which enables Weston support on
ast hardware.

The patchset has been tested by running the fbdev console, X11 (Gnome)
and Weston on an AST2100 chipset.

Thomas Zimmermann (9):
  drm/ast: Remove last traces of struct ast_gem_object
  drm/ast: Check video-mode requirements against VRAM size
  drm/ast: Don't clear base address and offset with default values
  drm/ast: Split ast_set_ext_reg() into color and threshold function
  drm/ast: Split ast_set_vbios_mode_info()
  drm/ast: Add primary plane
  drm/ast: Add CRTC helpers for atomic modesetting
  drm/ast: Add cursor plane
  drm/ast: Enable atomic modesetting

 drivers/gpu/drm/ast/ast_drv.c  |  24 +-
 drivers/gpu/drm/ast/ast_drv.h  |   9 +-
 drivers/gpu/drm/ast/ast_main.c |  54 +--
 drivers/gpu/drm/ast/ast_mode.c | 698 ++++++++++++++++++++-------------
 4 files changed, 462 insertions(+), 323 deletions(-)


More information about the dri-devel mailing list