fbdev: msm: Reserve mixers with dspp for primary display
Avoid allocating mixers LM0 and LM1 to external display and writeback as they are allocated to primary display first. Change-Id: I343a70dca2e664e5c9765fa2f0b933714b747b4a Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
This commit is contained in:
parent
9725c4d90b
commit
e2c351c864
1 changed files with 17 additions and 1 deletions
|
@ -2513,6 +2513,7 @@ struct mdss_mdp_mixer *mdss_mdp_mixer_alloc(
|
|||
u32 nmixers_wb;
|
||||
u32 i;
|
||||
u32 nmixers;
|
||||
u32 nmixers_active;
|
||||
struct mdss_mdp_mixer *mixer_pool = NULL;
|
||||
|
||||
if (!ctl || !ctl->mdata)
|
||||
|
@ -2526,10 +2527,21 @@ struct mdss_mdp_mixer *mdss_mdp_mixer_alloc(
|
|||
case MDSS_MDP_MIXER_TYPE_INTF:
|
||||
mixer_pool = ctl->mdata->mixer_intf;
|
||||
nmixers = nmixers_intf;
|
||||
nmixers_active = nmixers;
|
||||
|
||||
for (i = 0; i < nmixers; i++) {
|
||||
mixer = mixer_pool + i;
|
||||
if (mixer->ref_cnt)
|
||||
nmixers_active--;
|
||||
}
|
||||
mixer = NULL;
|
||||
|
||||
/*
|
||||
* try to reserve first layer mixer for write back if
|
||||
* assertive display needs to be supported through wfd
|
||||
* assertive display needs to be supported through wfd.
|
||||
* For external displays(pluggable) and writeback avoid
|
||||
* allocating mixers LM0 and LM1 which are allocated
|
||||
* to primary display first.
|
||||
*/
|
||||
if (ctl->mdata->has_wb_ad && ctl->intf_num &&
|
||||
((ctl->panel_data->panel_info.type != MIPI_CMD_PANEL) ||
|
||||
|
@ -2541,6 +2553,10 @@ struct mdss_mdp_mixer *mdss_mdp_mixer_alloc(
|
|||
&& (ctl->mdata->ndspp < nmixers)) {
|
||||
mixer_pool += ctl->mdata->ndspp;
|
||||
nmixers -= ctl->mdata->ndspp;
|
||||
} else if ((ctl->panel_data->panel_info.is_pluggable) &&
|
||||
nmixers_active) {
|
||||
mixer_pool += ctl->mdata->ndspp;
|
||||
nmixers -= ctl->mdata->ndspp;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue