msm: mdss: configure overfetch in software pixel ext
MDSS hardware accepts 0 or greater value for repeat pixel. However, if software tries to configure the negative value it leads to underrun due to large value. In such cases, software should configure the overfetch block which allows the negative value. CRs-fixed: 814452 Change-Id: I915a1f10951ae12d451cbf4a5fdff427174d32dc Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
This commit is contained in:
parent
a8e138b0aa
commit
e0c0e4d04e
1 changed files with 34 additions and 5 deletions
|
@ -2277,15 +2277,44 @@ void mdss_mdp_pipe_calc_pixel_extn(struct mdss_mdp_pipe *pipe)
|
|||
pipe->scale.num_ext_pxls_btm[i] -= 1;
|
||||
}
|
||||
|
||||
pipe->scale.left_rpt[i] = pipe->scale.num_ext_pxls_left[i];
|
||||
pipe->scale.right_rpt[i] = pipe->scale.num_ext_pxls_right[i];
|
||||
pipe->scale.top_rpt[i] = pipe->scale.num_ext_pxls_top[i];
|
||||
pipe->scale.btm_rpt[i] = pipe->scale.num_ext_pxls_btm[i];
|
||||
pr_debug("plane=%d, left=%d, right=%d, top=%d, btm=%d\n",
|
||||
if (pipe->scale.num_ext_pxls_left[i] >= 0)
|
||||
pipe->scale.left_rpt[i] =
|
||||
pipe->scale.num_ext_pxls_left[i];
|
||||
else
|
||||
pipe->scale.left_ftch[i] =
|
||||
pipe->scale.num_ext_pxls_left[i];
|
||||
|
||||
if (pipe->scale.num_ext_pxls_right[i] >= 0)
|
||||
pipe->scale.right_rpt[i] =
|
||||
pipe->scale.num_ext_pxls_right[i];
|
||||
else
|
||||
pipe->scale.right_ftch[i] =
|
||||
pipe->scale.num_ext_pxls_right[i];
|
||||
|
||||
if (pipe->scale.num_ext_pxls_top[i] >= 0)
|
||||
pipe->scale.top_rpt[i] =
|
||||
pipe->scale.num_ext_pxls_top[i];
|
||||
else
|
||||
pipe->scale.top_ftch[i] =
|
||||
pipe->scale.num_ext_pxls_top[i];
|
||||
|
||||
if (pipe->scale.num_ext_pxls_btm[i] >= 0)
|
||||
pipe->scale.btm_rpt[i] =
|
||||
pipe->scale.num_ext_pxls_btm[i];
|
||||
else
|
||||
pipe->scale.btm_ftch[i] =
|
||||
pipe->scale.num_ext_pxls_btm[i];
|
||||
|
||||
pr_debug("plane repeat=%d, left=%d, right=%d, top=%d, btm=%d\n",
|
||||
i, pipe->scale.left_rpt[i],
|
||||
pipe->scale.right_rpt[i],
|
||||
pipe->scale.top_rpt[i],
|
||||
pipe->scale.btm_rpt[i]);
|
||||
pr_debug("plane overfetch=%d, left=%d, right=%d, top=%d, btm=%d\n",
|
||||
i, pipe->scale.left_ftch[i],
|
||||
pipe->scale.right_ftch[i],
|
||||
pipe->scale.top_ftch[i],
|
||||
pipe->scale.btm_ftch[i]);
|
||||
}
|
||||
|
||||
pipe->scale.enable_pxl_ext = 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue