mbox series

[00/25] reserve RM resources in CRTC state

Message ID 1539059262-8326-1-git-send-email-jsanka@codeaurora.org (mailing list archive)
Headers show
Series reserve RM resources in CRTC state | expand

Message

Jeykumar Sankaran Oct. 9, 2018, 4:27 a.m. UTC
Submitting series of patches to clean up DPU resource manager (RM)
of complicated hw iterations, redundant data maintenence and eventually
modifying the DPU to reserve display HW blocks only in atomic check
and caching the assigned HW blocks in atomic CRTC state.

Thanks,
Jeykumar S.

Jeykumar Sankaran (25):
  drm/msm/dpu: fix hw ctl retrieval for mixer muxing
  drm/msm/dpu: avoid tracking reservations in RM
  drm/msm/dpu: remove dev from RM
  drm/msm/dpu: clean up dpu_rm_check_property_topctl declaration
  drm/msm/dpu: remove encoder from crtc mixer struct
  drm/msm/dpu: clean up redundant hw type
  drm/msm/dpu: reserve using crtc state
  drm/msm/dpu: release reservation using crtc state
  drm/msm/dpu: make RM iterator static
  drm/msm/dpu: maintain hw_mdp in kms
  drm/msm/dpu: remove reserve in encoder mode_set
  drm/msm/dpu: remove mode_set_complete
  drm/msm/dpu: make RM iterator hw type specific
  drm/msm/dpu: remove enc_id tagging for hw blocks
  drm/msm/dpu: avoid redundant hw blk reference
  drm/msm/dpu: clean up test_only flag for RM reservation
  drm/msm/dpu: remove RM HW block list iterator
  drm/msm/dpu: merge RM interface reservation helpers
  drm/msm/dpu: remove msm_display_topology
  drm/msm/dpu: refine layer mixer reservations
  drm/msm/dpu: merge RM reservation helpers
  drm/msm/dpu: make crtc and encoder specific HW reservation
  drm/msm/dpu: remove max_width from RM
  drm/msm/dpu: remove mutex locking for RM interfaces
  drm/msm/dpu: maintain RM init check internally

 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c           |  98 ++-
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h           |  16 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        |  96 +--
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  20 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c            |  16 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h            |   1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c             | 728 ++++++---------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h             | 107 +--
 drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h          |  28 +-
 drivers/gpu/drm/msm/msm_drv.h                      |  12 -
 10 files changed, 322 insertions(+), 800 deletions(-)

Comments

Sean Paul Oct. 9, 2018, 7:29 p.m. UTC | #1
On Mon, Oct 08, 2018 at 09:27:17PM -0700, Jeykumar Sankaran wrote:
> Submitting series of patches to clean up DPU resource manager (RM)
> of complicated hw iterations, redundant data maintenence and eventually
> modifying the DPU to reserve display HW blocks only in atomic check
> and caching the assigned HW blocks in atomic CRTC state.
> 

I get the following build error with this series:

In file included from ../include/linux/list.h:9:0,
                 from ../include/linux/wait.h:7,
                 from ../include/linux/wait_bit.h:8,
                 from ../include/linux/fs.h:6,
                 from ../include/linux/debugfs.h:15,
                 from ../drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c:21:
../drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c: In function ‘_dpu_crtc_setup_mixers’:
../include/linux/kernel.h:845:29: warning: comparison of distinct pointer types lacks a cast
   (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
                             ^
../include/linux/kernel.h:859:4: note: in expansion of macro ‘__typecheck’
   (__typecheck(x, y) && __no_side_effects(x, y))
    ^~~~~~~~~~~
../include/linux/kernel.h:869:24: note: in expansion of macro ‘__safe_cmp’
  __builtin_choose_expr(__safe_cmp(x, y), \
                        ^~~~~~~~~~
../include/linux/kernel.h:878:19: note: in expansion of macro ‘__careful_cmp’
 #define min(x, y) __careful_cmp(x, y, <)
                   ^~~~~~~~~~~~~
../drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c:437:15: note: in expansion of macro ‘min’
   ctl_index = min(i, cstate->num_ctls - 1);
               ^~~

> Thanks,
> Jeykumar S.
> 
> Jeykumar Sankaran (25):
>   drm/msm/dpu: fix hw ctl retrieval for mixer muxing
>   drm/msm/dpu: avoid tracking reservations in RM
>   drm/msm/dpu: remove dev from RM
>   drm/msm/dpu: clean up dpu_rm_check_property_topctl declaration
>   drm/msm/dpu: remove encoder from crtc mixer struct
>   drm/msm/dpu: clean up redundant hw type
>   drm/msm/dpu: reserve using crtc state
>   drm/msm/dpu: release reservation using crtc state
>   drm/msm/dpu: make RM iterator static
>   drm/msm/dpu: maintain hw_mdp in kms
>   drm/msm/dpu: remove reserve in encoder mode_set
>   drm/msm/dpu: remove mode_set_complete
>   drm/msm/dpu: make RM iterator hw type specific
>   drm/msm/dpu: remove enc_id tagging for hw blocks
>   drm/msm/dpu: avoid redundant hw blk reference
>   drm/msm/dpu: clean up test_only flag for RM reservation
>   drm/msm/dpu: remove RM HW block list iterator
>   drm/msm/dpu: merge RM interface reservation helpers
>   drm/msm/dpu: remove msm_display_topology
>   drm/msm/dpu: refine layer mixer reservations
>   drm/msm/dpu: merge RM reservation helpers
>   drm/msm/dpu: make crtc and encoder specific HW reservation
>   drm/msm/dpu: remove max_width from RM
>   drm/msm/dpu: remove mutex locking for RM interfaces
>   drm/msm/dpu: maintain RM init check internally
> 
>  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c           |  98 ++-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h           |  16 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        |  96 +--
>  .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  20 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c            |  16 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h            |   1 -
>  drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c             | 728 ++++++---------------
>  drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h             | 107 +--
>  drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h          |  28 +-
>  drivers/gpu/drm/msm/msm_drv.h                      |  12 -
>  10 files changed, 322 insertions(+), 800 deletions(-)
> 
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>