display: remove pending_free_ready and pending_free_display_buffer 22/204122/4
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 19 Apr 2019 10:41:41 +0000 (19:41 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Mon, 22 Apr 2019 09:11:39 +0000 (18:11 +0900)
Change-Id: I98735c329ef548128a08e4d932ef0dd472f17173

src/tdm_exynos_display.c
src/tdm_exynos_types.h

index 32f757a99be358693f9e1818b4f656bdaaa38991..658f7125b619263869cb6f8e50cdac6b720d7295 100644 (file)
@@ -375,13 +375,8 @@ _tdm_exynos_display_do_commit(tdm_exynos_output_data *output_data)
                                                win_data.config[layer_index].dst.f_w, win_data.config[layer_index].dst.f_h);
                                memcpy(&layer_data->win_cfg, &win_data.config[layer_index], sizeof(struct decon_win_config));
                        }
-                       layer_data->enabled_flag = 1;
 
-                       /* free pending display buffer */
-                       if (layer_data->pending_free_display_buffer) {
-                               layer_data->pending_free_display_buffer = NULL;
-                               free(layer_data->pending_free_display_buffer);
-                       }
+                       layer_data->enabled_flag = 1;
                } else {
                        _tdm_exynos_display_layer_disable(layer_data);
                }
@@ -611,31 +606,19 @@ _tdm_exynos_display_cb_destroy_buffer(tbm_surface_h buffer, void *user_data)
                TDM_ERR("no display_buffer");
                return;
        }
-       LIST_DEL(&display_buffer->link);
 
-       if (exynos_data->hwc_mode) {
-               LIST_FOR_EACH_ENTRY(output_data, &exynos_data->output_list, link) {
-                       LIST_FOR_EACH_ENTRY(layer_data, &output_data->layer_list, link) {
-                               if (display_buffer == layer_data->display_buffer) {
-                                       TDM_DBG("display buffer is pending to free!!! buffer:%p", buffer);
-                                       layer_data->pending_free_display_buffer = display_buffer;
-                                       return;
-                               }
-                       }
-               }
-       } else {
-               LIST_FOR_EACH_ENTRY(output_data, &exynos_data->output_list, link) {
-                       LIST_FOR_EACH_ENTRY(layer_data, &output_data->layer_list, link) {
-                               if (display_buffer == layer_data->display_buffer) {
-                                       _tdm_exynos_display_layer_disable(layer_data);
-                                       layer_data->display_buffer = NULL;
-                               }
+       LIST_FOR_EACH_ENTRY(output_data, &exynos_data->output_list, link) {
+               LIST_FOR_EACH_ENTRY(layer_data, &output_data->layer_list, link) {
+                       if (display_buffer == layer_data->display_buffer) {
+                               _tdm_exynos_display_layer_disable(layer_data);
+                               layer_data->display_buffer = NULL;
                        }
                }
        }
 
        TDM_DBG("destroy buffer fd:%d", display_buffer->fds[0]);
 
+       LIST_DEL(&display_buffer->link);
        free(display_buffer);
 }
 
index 834625391fe1740034277b421610d1b66f2850d0..0e8cc4a8f2e91ba3579b9f399226fb000ab6d716 100644 (file)
@@ -224,8 +224,6 @@ struct _tdm_exynos_layer_data {
 
        tdm_exynos_display_buffer *display_buffer;
        int display_buffer_changed;
-       tdm_exynos_display_buffer *pending_free_display_buffer;
-       int pending_free_ready;
 
        /* current hw overlay setting */
        struct decon_win_config win_cfg;