mbox series

[00/17] drm/msm/dpu: switch dpu_plane to be virtual

Message ID 20210624145733.2561992-1-dmitry.baryshkov@linaro.org
Headers show
Series drm/msm/dpu: switch dpu_plane to be virtual | expand

Message

Dmitry Baryshkov June 24, 2021, 2:57 p.m. UTC
As discussed on IRC, change dpu_plane implementation to be virtual:
register unified planes and select backing SSPP block at runtime. In
future this would allow implementing multirect (or wide planes) in a
proper way, without requiring zpos hacks or additional userspace
handling.

The last patch adds a compile time #if to select between virtual planes
or traditional planes. It is implemented this way to ease testing of
this patchset. In the next versions it is going to be morphed into
the proper module parameter.

The following changes since commit e88bbc91849b2bf57683119c339e52916d34433f:

  Revert "drm/msm/mdp5: provide dynamic bandwidth management" (2021-06-23 14:06:20 -0700)

are available in the Git repository at:

  https://git.linaro.org/people/dmitry.baryshkov/kernel.git dpu-virtual-planes

for you to fetch changes up to c0b20040e9b265e77cbf02c5b5312090b3677f81:

  drm/msm/dpu: switch into using virtual planes (2021-06-24 17:50:54 +0300)

----------------------------------------------------------------
Dmitry Baryshkov (17):
      drm/msm/dpu: move LUT levels out of QOS config
      drm/msm/dpu: remove pipe_qos_cfg from struct dpu_plane
      drm/msm/dpu: drop pipe_name from struct dpu_plane
      drm/msm/dpu: remove stage_cfg from struct dpu_crtc
      drm/msm/dpu: rip out master planes support
      drm/msm/dpu: move dpu_hw_pipe_cfg out of struct dpu_plane
      drm/msm/dpu: don't cache pipe->cap->features in dpu_plane
      drm/msm/dpu: don't cache pipe->cap->sblk in dpu_plane
      drm/msm/dpu: rip out debugfs support from dpu_plane
      drm/msm/dpu: simplify colorspace conversion setup
      drm/msm/dpu: drop src_split and multirect check from dpu_crtc_atomic_check
      drm/msm/dpu: add list of supported formats to the DPU caps
      drm/msm/dpu: simplify DPU_SSPP features checks
      drm/msm/dpu: do not limit the zpos property
      drm/msm/dpu: add support for SSPP allocation to RM
      drm/msm/dpu: add support for virtualized planes
      drm/msm/dpu: switch into using virtual planes

 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c       | 215 ++------
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h       |   2 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c |  10 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |   4 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c    |  17 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h    |  44 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c    |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h    |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c        | 139 ++---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h        |  70 +--
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c      | 709 ++++++++++---------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h      |  42 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c         |  81 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h         |   6 +
 14 files changed, 560 insertions(+), 783 deletions(-)