drm/komeda: Add layer split support

Submitted by james qian wang (Arm Technology China) on May 20, 2019, 10:44 a.m.

Details

Reviewer None
Submitted May 20, 2019, 10:44 a.m.
Last Updated June 10, 2019, 10:16 a.m.
Revision 2

Cover Letter(s)

Revision 1
      This patch series add laye split support for komeda.

For layer split, a plane state will be split to two data flows and handled
by two separated komeda layer input pipelines. komeda supports two types of
layer split:
- none-scaling split:
             / layer-left -> \
  plane_state                  compiz-> ...
             \ layer-right-> /

- scaling split:
             / layer-left -> scaler->\
 plane_state                          merger -> compiz-> ...
             \ layer-right-> scaler->/

Since merger only supports scaler as input, so for none-scaling split, two
layer data flows will be output to compiz directly. for scaling_split, two
data flows will be merged by merger firstly, then merger outputs one merged
data flow to compiz.

This patch series depends on:
- https://patchwork.freedesktop.org/series/60767/
- https://patchwork.freedesktop.org/series/60838/

James Qian Wang (Arm Technology China) (3):
  drm/komeda: Add component komeda_merger
  drm/komeda: Add split support for scaler
  drm/komeda: Add layer split support

 .../arm/display/komeda/d71/d71_component.c    | 121 ++++++-
 .../gpu/drm/arm/display/komeda/komeda_kms.c   |   8 +
 .../gpu/drm/arm/display/komeda/komeda_kms.h   |  22 +-
 .../drm/arm/display/komeda/komeda_pipeline.c  |  26 +-
 .../drm/arm/display/komeda/komeda_pipeline.h  |  49 ++-
 .../display/komeda/komeda_pipeline_state.c    | 321 +++++++++++++++++-
 .../gpu/drm/arm/display/komeda/komeda_plane.c |  32 +-
 .../arm/display/komeda/komeda_private_obj.c   |  49 +++
 .../arm/display/komeda/komeda_wb_connector.c  |   2 +-
 9 files changed, 602 insertions(+), 28 deletions(-)

-- 
2.17.1
    
Revision 2
      This patch series add laye split support for komeda.

For layer split, a plane state will be split to two data flows and handled
by two separated komeda layer input pipelines. komeda supports two types of
layer split:

- none-scaling split:
             / layer-left -> \
  plane_state                  compiz-> ...
             \ layer-right-> /

- scaling split:
             / layer-left -> scaler->\
 plane_state                          merger -> compiz-> ...
             \ layer-right-> scaler->/

Since merger only supports scaler as input, so for none-scaling split, two
layer data flows will be output to compiz directly. for scaling_split, two
data flows will be merged by merger firstly, then merger outputs one merged
data flow to compiz.

This patch series depends on:
- https://patchwork.freedesktop.org/series/60767/
- https://patchwork.freedesktop.org/series/60838/

v2: Rebase and addressed Liviu's comments

james qian wang (Arm Technology China) (3):
  drm/komeda: Add component komeda_merger
  drm/komeda: Add split support for scaler
  drm/komeda: Add layer split support

 .../arm/display/komeda/d71/d71_component.c    | 121 ++++++-
 .../gpu/drm/arm/display/komeda/komeda_kms.c   |   8 +
 .../gpu/drm/arm/display/komeda/komeda_kms.h   |  22 +-
 .../drm/arm/display/komeda/komeda_pipeline.c  |  26 +-
 .../drm/arm/display/komeda/komeda_pipeline.h  |  49 ++-
 .../display/komeda/komeda_pipeline_state.c    | 318 +++++++++++++++++-
 .../gpu/drm/arm/display/komeda/komeda_plane.c |  33 +-
 .../arm/display/komeda/komeda_private_obj.c   |  49 +++
 .../arm/display/komeda/komeda_wb_connector.c  |   2 +-
 9 files changed, 600 insertions(+), 28 deletions(-)

--
2.17.1
    

Revisions