[Patch v4 0/8] drm/omap: Add virtual-planes support

From: Benoit Parrot
Date: Fri Oct 12 2018 - 16:17:15 EST


This patch series adds virtual-plane support to omapdrm driver to allow the use
of display wider than 2048 pixels.

In order to do so we introduce the concept of hw_overlay which can then be
dynamically allocated to a plane. When the requested output width exceed what
be supported by one overlay a second is then allocated if possible to handle
display wider then 2048.

This series replaces an earlier series which was DT based and using statically
allocated resources.

This implementation is inspired from the work done in msm/disp/mdp5
driver.

Benoit Parrot (8):
drm/omap: Add ability to check if requested plane modes can be
supported
drm/omap: Add ovl checking funcs to dispc_ops
drm/omap: introduce omap_hw_overlay
drm/omap: omap_plane: subclass drm_plane_state
drm/omap: Add global state as a private atomic object
drm/omap: dynamically assign hw overlays to planes
drm/omap: add plane_atomic_print_state support
drm/omap: Add a 'right overlay' to plane state

drivers/gpu/drm/omapdrm/Makefile | 1 +
drivers/gpu/drm/omapdrm/dss/dispc.c | 32 +++
drivers/gpu/drm/omapdrm/dss/omapdss.h | 6 +
drivers/gpu/drm/omapdrm/omap_drv.c | 196 ++++++++++++++++-
drivers/gpu/drm/omapdrm/omap_drv.h | 30 +++
drivers/gpu/drm/omapdrm/omap_fb.c | 33 ++-
drivers/gpu/drm/omapdrm/omap_fb.h | 4 +-
drivers/gpu/drm/omapdrm/omap_overlay.c | 257 ++++++++++++++++++++++
drivers/gpu/drm/omapdrm/omap_overlay.h | 41 ++++
drivers/gpu/drm/omapdrm/omap_plane.c | 374 ++++++++++++++++++++++++++++-----
drivers/gpu/drm/omapdrm/omap_plane.h | 1 +
11 files changed, 922 insertions(+), 53 deletions(-)
create mode 100644 drivers/gpu/drm/omapdrm/omap_overlay.c
create mode 100644 drivers/gpu/drm/omapdrm/omap_overlay.h

--
2.9.0