An early iteration for refactoring the RCAR-DU so that the group and CRTC state is only changed during rcar_du_atomic_commit_tail. Currnently, various parts of the group and crtc are adjusted and state is stored globaly. Introduce a private object state for the groups so that we can track per-state group-state, and start to utilise that to refactor so that all hardware operations can occur during rcar_du_atomic_commit_tail(). This is only RFC state at the moment, and I am actively working on this code. Kieran Bingham (5): drm: rcar-du: Link CRTCs to the DU device drm: rcar-du: Provide for_each_group helper drm: rcar-du: Create a group state object drm: rcar-du: add group hooks for atomic-commit drm: rcar-du: Add crtc standby helpers drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 150 +++++++++-------- drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 9 +- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 5 + drivers/gpu/drm/rcar-du/rcar_du_group.c | 203 ++++++++++++++++++++---- drivers/gpu/drm/rcar-du/rcar_du_group.h | 38 ++++- drivers/gpu/drm/rcar-du/rcar_du_kms.c | 52 +++--- drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 2 +- 7 files changed, 313 insertions(+), 146 deletions(-) -- 2.19.1