diff options
| author | Lei Zhou <leizhou@codeaurora.org> | 2015-06-29 17:00:36 -0400 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:43:32 -0700 |
| commit | a0c6e7178de816d8edd7aa817d0e87c0b7e9f2da (patch) | |
| tree | 181204ffa05b7cb3d99135a7b4a34a8d3ccffd25 | |
| parent | f29534f106923fdbfba3ec9a69ca90677b98a78a (diff) | |
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>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_layer.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_layer.c b/drivers/video/fbdev/msm/mdss_mdp_layer.c index b1cc708f0c31..1a7681e4f904 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_layer.c +++ b/drivers/video/fbdev/msm/mdss_mdp_layer.c @@ -1299,6 +1299,10 @@ int mdss_mdp_layer_pre_commit(struct msm_fb_data_type *mfd, mutex_lock(&mdp5_data->list_lock); 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, layer_count); if (IS_ERR_OR_NULL(src_data[i++])) { @@ -1322,7 +1326,8 @@ map_err: if (ret) { mutex_lock(&mdp5_data->list_lock); 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); } end: |
