aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
diff options
context:
space:
mode:
authorHai Li <hali@codeaurora.org>2015-03-26 19:25:17 -0400
committerRob Clark <robdclark@gmail.com>2015-04-01 19:29:38 -0400
commitd5af49c92a8aff8236e7b0bb35e9af364000c017 (patch)
treef7cd9e3bbb0a452ee1f3868b29f71caefdbbfc1c /drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
parenta689554ba6ed81cf606c16539f6ffc2a1dcdaf8e (diff)
drm/msm/mdp5: Enable DSI connector in msm drm driver
This change adds the support in mdp5 kms driver for single and dual DSI. Dual DSI case depends on the framework API and sequence change to support dual data path. v1: Initial change v2: Address Rob Clark's comment - Separate command mode encoder to a new file mdp5_cmd_encoder.c - Rebase to not depend on msm_drm_sub_dev change Signed-off-by: Hai Li <hali@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
index 9527ad112446..c1530772187d 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
@@ -622,7 +622,16 @@ void mdp5_crtc_set_intf(struct drm_crtc *crtc, struct mdp5_interface *intf)
622 622
623 /* now that we know what irq's we want: */ 623 /* now that we know what irq's we want: */
624 mdp5_crtc->err.irqmask = intf2err(intf->num); 624 mdp5_crtc->err.irqmask = intf2err(intf->num);
625 mdp5_crtc->vblank.irqmask = intf2vblank(lm, intf); 625
626 /* Register command mode Pingpong done as vblank for now,
627 * so that atomic commit should wait for it to finish.
628 * Ideally, in the future, we should take rd_ptr done as vblank,
629 * and let atomic commit wait for pingpong done for commond mode.
630 */
631 if (intf->mode == MDP5_INTF_DSI_MODE_COMMAND)
632 mdp5_crtc->vblank.irqmask = lm2ppdone(lm);
633 else
634 mdp5_crtc->vblank.irqmask = intf2vblank(lm, intf);
626 mdp_irq_update(&mdp5_kms->base); 635 mdp_irq_update(&mdp5_kms->base);
627 636
628 mdp5_ctl_set_intf(mdp5_crtc->ctl, intf); 637 mdp5_ctl_set_intf(mdp5_crtc->ctl, intf);