msm: mdss: Fix destination bpp on writeback panel
Default bpp for destination format is set if mixer type for WB is MIXER_TYPE_WRITEBACK. Ensure that correct bpp is fetched from format type. Change-Id: Iff7cf58363a83e9a4999115382c5551110104ead Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
This commit is contained in:
parent
3407e78a70
commit
8e11c85eb8
1 changed files with 15 additions and 9 deletions
|
@ -1221,8 +1221,13 @@ static void mdss_mdp_perf_calc_mixer(struct mdss_mdp_mixer *mixer,
|
||||||
memset(perf, 0, sizeof(*perf));
|
memset(perf, 0, sizeof(*perf));
|
||||||
|
|
||||||
if (!mixer->rotator_mode) {
|
if (!mixer->rotator_mode) {
|
||||||
|
pinfo = &mixer->ctl->panel_data->panel_info;
|
||||||
|
if (!pinfo) {
|
||||||
|
pr_err("pinfo is NULL\n");
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
if (mixer->type == MDSS_MDP_MIXER_TYPE_INTF) {
|
if (mixer->type == MDSS_MDP_MIXER_TYPE_INTF) {
|
||||||
pinfo = &mixer->ctl->panel_data->panel_info;
|
|
||||||
if (pinfo->type == MIPI_VIDEO_PANEL) {
|
if (pinfo->type == MIPI_VIDEO_PANEL) {
|
||||||
fps = pinfo->panel_max_fps;
|
fps = pinfo->panel_max_fps;
|
||||||
v_total = pinfo->panel_max_vtotal;
|
v_total = pinfo->panel_max_vtotal;
|
||||||
|
@ -1230,18 +1235,19 @@ static void mdss_mdp_perf_calc_mixer(struct mdss_mdp_mixer *mixer,
|
||||||
fps = mdss_panel_get_framerate(pinfo);
|
fps = mdss_panel_get_framerate(pinfo);
|
||||||
v_total = mdss_panel_get_vtotal(pinfo);
|
v_total = mdss_panel_get_vtotal(pinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pinfo->type == WRITEBACK_PANEL) {
|
|
||||||
fmt = mdss_mdp_get_format_params(
|
|
||||||
mixer->ctl->dst_format);
|
|
||||||
if (fmt)
|
|
||||||
bpp = fmt->bpp;
|
|
||||||
pinfo = NULL;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
v_total = mixer->height;
|
v_total = mixer->height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* For writeback panel, mixer type can be other than intf */
|
||||||
|
if (pinfo->type == WRITEBACK_PANEL) {
|
||||||
|
fmt = mdss_mdp_get_format_params(
|
||||||
|
mixer->ctl->dst_format);
|
||||||
|
if (fmt)
|
||||||
|
bpp = fmt->bpp;
|
||||||
|
pinfo = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
perf->mdp_clk_rate = mixer->width * v_total * fps;
|
perf->mdp_clk_rate = mixer->width * v_total * fps;
|
||||||
perf->mdp_clk_rate =
|
perf->mdp_clk_rate =
|
||||||
mdss_mdp_clk_fudge_factor(mixer, perf->mdp_clk_rate);
|
mdss_mdp_clk_fudge_factor(mixer, perf->mdp_clk_rate);
|
||||||
|
|
Loading…
Add table
Reference in a new issue