msm: mdss: ignore buffer mapping if it's solid fill layer
Ignore mdp_buffer mapping when MDP_SOLID_FILL_LAYER is detected. The client marked this mdp_input_layer as SOLID_FILL layer without input buffer associated with this layer. MDP hardware SOLID_FILL feature will be utilized. Change-Id: Ica48dc5b0be69ac42e2f442d6114781790a3c56a Signed-off-by: Lei Zhou <leizhou@codeaurora.org>
This commit is contained in:
parent
f29534f106
commit
a0c6e7178d
1 changed files with 6 additions and 1 deletions
|
@ -1299,6 +1299,10 @@ int mdss_mdp_layer_pre_commit(struct msm_fb_data_type *mfd,
|
||||||
|
|
||||||
mutex_lock(&mdp5_data->list_lock);
|
mutex_lock(&mdp5_data->list_lock);
|
||||||
list_for_each_entry_safe(pipe, tmp, &mdp5_data->pipes_used, list) {
|
list_for_each_entry_safe(pipe, tmp, &mdp5_data->pipes_used, list) {
|
||||||
|
if (pipe->flags & MDP_SOLID_FILL) {
|
||||||
|
src_data[i] = NULL;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
src_data[i] = __map_layer_buffer(mfd, pipe, layer_list,
|
src_data[i] = __map_layer_buffer(mfd, pipe, layer_list,
|
||||||
layer_count);
|
layer_count);
|
||||||
if (IS_ERR_OR_NULL(src_data[i++])) {
|
if (IS_ERR_OR_NULL(src_data[i++])) {
|
||||||
|
@ -1322,7 +1326,8 @@ map_err:
|
||||||
if (ret) {
|
if (ret) {
|
||||||
mutex_lock(&mdp5_data->list_lock);
|
mutex_lock(&mdp5_data->list_lock);
|
||||||
for (i--; i >= 0; i--)
|
for (i--; i >= 0; i--)
|
||||||
mdss_mdp_overlay_buf_free(mfd, src_data[i]);
|
if (src_data[i])
|
||||||
|
mdss_mdp_overlay_buf_free(mfd, src_data[i]);
|
||||||
mutex_unlock(&mdp5_data->list_lock);
|
mutex_unlock(&mdp5_data->list_lock);
|
||||||
}
|
}
|
||||||
end:
|
end:
|
||||||
|
|
Loading…
Add table
Reference in a new issue