[Freedreno] [DPU PATCH 00/11] drm/msm: Use atomic helper functions for msm

Sean Paul seanpaul at chromium.org
Wed Feb 28 19:18:55 UTC 2018


Hey!
This set converts msm to using the atomic helper functions for commit. 
In order to do this, I needed to do the following:

Relocate/remove the copied atomic helper code from msm_atomic:
  Most of this was to deal with seamless modesets introduced in the dpu.
  I'll need to revisit the seamless code soon, but for the purpose of this
  set, moving it down into the driver was fine.

Remove the kthread commit code to do nonblock:
  I think this is an artifact of dpu being forward-ported since 4.4. Now
  that the core has a commit worker, we can use that.

Remove the dpu fences:
  Core has these as well, so we can just nuke them.

Convert mdp5 to use atomic_private_obj:
  By using the private_obj, I could remove the kms->funcs->swap_state()
  hook in atomic commit.


I think this could apply to msm-next pretty easily by taking the
private_obj + event clearing + atomic_helper_commit patches, but I
haven't tried to do that atm.

I think I'll tackle the build warnings next, to ensure I'm not
introducing more.

Sean


Sean Paul (11):
  drm/msm: Skip seamless disables in crtc/encoder
  drm/msm: Don't duplicate modeset_enables atomic helper
  drm/msm: Refactor complete_commit() to look more the helpers
  drm/msm: Move implicit sync fence handling to prepare_fb
  drm/msm: Mark the crtc->state->event consumed
  drm/msm: Remove msm_commit/kthread, use atomic helper commit
  drm/msm: Use atomic private_obj instead of subclassing
  drm/msm: Remove hand-rolled out fences
  drm/msm: Remove prepare_fence kms_function
  drm/msm: Switch to atomic_helper_commit()
  drm/msm: Remove dpu input fences

 drivers/gpu/drm/msm/Makefile                  |   1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c |  66 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.h |  23 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c      | 281 ++------
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h      |  28 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   |  16 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h   |   4 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h  |   8 -
 .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  |  73 +--
 .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c  |  19 -
 .../drm/msm/disp/dpu1/dpu_encoder_phys_wb.c   |  12 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.c     | 404 ------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.h     | 190 ------
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  61 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |   2 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c     | 112 +---
 drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c     |   1 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c     |   1 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c      |  37 +-
 drivers/gpu/drm/msm/msm_atomic.c              | 616 +-----------------
 drivers/gpu/drm/msm/msm_drv.c                 |  73 ++-
 drivers/gpu/drm/msm/msm_drv.h                 |  18 +-
 drivers/gpu/drm/msm/msm_kms.h                 |  30 +-
 23 files changed, 219 insertions(+), 1857 deletions(-)
 delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.c
 delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.h

-- 
Sean Paul, Software Engineer, Google / Chromium OS



More information about the Freedreno mailing list