summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index 4701e7fc5989..4660994b62a9 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -477,7 +477,9 @@ static struct mdss_mdp_mixer *mdss_mdp_mixer_alloc(
* try to reserve first layer mixer for write back if
* assertive display needs to be supported through wfd
*/
- if (ctl->mdata->has_wb_ad && ctl->intf_num) {
+ if (ctl->mdata->has_wb_ad && ctl->intf_num &&
+ ((ctl->panel_data->panel_info.type != MIPI_CMD_PANEL) ||
+ !mux)) {
alt_mixer = mixer_pool;
mixer_pool++;
nmixers--;
@@ -748,6 +750,10 @@ int mdss_mdp_ctl_setup(struct mdss_mdp_ctl *ctl)
if (!ctl->mixer_left) {
pr_err("unable to allocate layer mixer\n");
return -ENOMEM;
+ } else if (ctl->mixer_left->num >= 1 &&
+ (ctl->panel_data->panel_info.type == MIPI_CMD_PANEL)) {
+ pr_err("use only DSPP0 and DSPP1 with cmd split\n");
+ return -EPERM;
}
}