drm/msm/mdp5: Update mdp5_pipe_assign to spit out both planes
authorArchit Taneja <architt@codeaurora.org>
Fri, 27 Oct 2017 10:57:30 +0000 (16:27 +0530)
committerRob Clark <robdclark@gmail.com>
Sat, 28 Oct 2017 18:02:58 +0000 (14:02 -0400)
commitb14892801078085cb54dcbe3389057e12c1746a2
tree6919e77760875f57b8e3817f23513646d4658209
parent9866601e67adc5589302d7dfe12d8325d5b894f8
drm/msm/mdp5: Update mdp5_pipe_assign to spit out both planes

We currently call mdp5_pipe_assign() twice to assign the left and right
hwpipes for our drm_plane. When merging 2 hwpipes, there are a few
constraints that we need to keep in mind:

- Only the same types of SSPPs are preferred. I.e, a RGB pipe should
  be paired with another RGB pipe, VIG with VIG etc.
- The hwpipe staged on the left should have a higher priority than
  the hwpipe staged on the right. The priorities are as follows:
  VIG0 > VIG1 > VIG2 > VIG3
  RGB0 > RGB1 > RGB2 > RGB3
  DMA0 > DMA1

We can't apply these constraints easily if mdp5_pipe_assign() is
called twice. Update mdp5_pipe_assign() to find both hwpipes in
one go, and add the extra constraints needed.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.c
drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.h
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c