diff options
author | Hai Li <hali@codeaurora.org> | 2015-03-26 19:25:17 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-04-01 19:29:38 -0400 |
commit | d5af49c92a8aff8236e7b0bb35e9af364000c017 (patch) | |
tree | f7cd9e3bbb0a452ee1f3868b29f71caefdbbfc1c /drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | |
parent | a689554ba6ed81cf606c16539f6ffc2a1dcdaf8e (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.c | 11 |
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); |