hwc: add tdm_sprd_output_get_layer 04/193204/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 16 Nov 2018 03:04:40 +0000 (12:04 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 16 Nov 2018 03:46:58 +0000 (12:46 +0900)
Change-Id: I98bf2ac94c194a955a72b17789608772afbe6c1f

src/tdm_sprd.h
src/tdm_sprd_display.c
src/tdm_sprd_hwc.c

index b71da1a..4af66a8 100644 (file)
@@ -291,11 +291,12 @@ void         tdm_sprd_display_deinit_event_handling(tdm_sprd_data *sprd_data);
 tdm_sprd_display_buffer *tdm_sprd_display_creat_buffer(tdm_sprd_data *sprd_data, tbm_surface_h surface, tdm_error *err);
 tdm_sprd_display_buffer *tdm_sprd_display_find_buffer(tdm_sprd_data *sprd_data, tbm_surface_h buffer);
 
-tdm_error    tdm_sprd_output_do_commit(tdm_sprd_output_data *output_data);
-tdm_error    tdm_sprd_output_get_cur_msc(int fd, int pipe, uint *msc);
-tdm_error    tdm_sprd_output_wait_vblank(int fd, int pipe, uint *target_msc, void *data);
-tdm_error    sprd_layer_get_buffer(tdm_layer *layer, tbm_surface_h *surface);
-tdm_error    sprd_layer_get_zpos(tdm_layer *layer, int *zpos);
+tdm_error            tdm_sprd_output_do_commit(tdm_sprd_output_data *output_data);
+tdm_error            tdm_sprd_output_get_cur_msc(int fd, int pipe, uint *msc);
+tdm_error            tdm_sprd_output_wait_vblank(int fd, int pipe, uint *target_msc, void *data);
+tdm_sprd_layer_data *tdm_sprd_output_get_layer(tdm_sprd_output_data *output_data, int layer_zpos);
+tdm_error            sprd_layer_get_buffer(tdm_layer *layer, tbm_surface_h *surface);
+tdm_error            sprd_layer_get_zpos(tdm_layer *layer, int *zpos);
 
 tdm_error    tdm_sprd_pp_get_capability(tdm_sprd_data *sprd_data, tdm_caps_pp *caps);
 tdm_pp*      tdm_sprd_pp_create(tdm_sprd_data *sprd_data, tdm_error *error);
index 9e612ec..b9d57d8 100644 (file)
@@ -1495,3 +1495,17 @@ sprd_output_get_hwc(tdm_output *output, tdm_error *error)
        return hwc_data;
 }
 
+tdm_sprd_layer_data *
+tdm_sprd_output_get_layer(tdm_sprd_output_data *output_data, int layer_zpos)
+{
+       tdm_sprd_layer_data *l = NULL;
+
+       RETURN_VAL_IF_FAIL(output_data, NULL);
+
+       LIST_FOR_EACH_ENTRY(l, &output_data->layer_list, link) {
+               if (l->zpos == layer_zpos)
+                       return l;
+       }
+
+       return NULL;
+}
index 2410242..a164515 100644 (file)
@@ -138,20 +138,6 @@ _sprd_hwc_window_get_tbm_surface_queue(tdm_hwc_window *hwc_window, tdm_error *er
        return tqueue;
 }
 
-tdm_sprd_layer_data *
-_sprd_hwc_get_layer(tdm_sprd_hwc_data *hwc_data, int layer_zpos)
-{
-       tdm_sprd_output_data *output_data = hwc_data->output_data;
-       tdm_sprd_layer_data *l = NULL;
-
-       LIST_FOR_EACH_ENTRY(l, &output_data->layer_list, link) {
-               if (l->zpos == layer_zpos)
-                       return l;
-       }
-
-       return NULL;
-}
-
 static tdm_error
 _sprd_hwc_layer_attach_window(tdm_sprd_layer_data *layer_data, tdm_sprd_hwc_window_data *hwc_window_data)
 {
@@ -184,7 +170,7 @@ _sprd_hwc_prepare_commit(tdm_sprd_hwc_data *hwc_data)
 
        /* set target hwc window */
        if (hwc_data->need_target_window) {
-               layer_data = _sprd_hwc_get_layer(hwc_data, ZPOS_OSD);
+               layer_data = tdm_sprd_output_get_layer(hwc_data->output_data, ZPOS_OSD);
                _sprd_hwc_layer_attach_window(layer_data, hwc_data->target_hwc_window);
                use_layers_zpos[hwc_data->target_hwc_window->zpos] = 1;
        }
@@ -197,7 +183,7 @@ _sprd_hwc_prepare_commit(tdm_sprd_hwc_data *hwc_data)
                if (hwc_window_data == hwc_data->target_hwc_window)
                        continue;
 
-               layer_data = _sprd_hwc_get_layer(hwc_data, hwc_window_data->zpos);
+               layer_data = tdm_sprd_output_get_layer(hwc_data->output_data, hwc_window_data->zpos);
                _sprd_hwc_layer_attach_window(layer_data, hwc_window_data);
                use_layers_zpos[hwc_window_data->zpos] = 1;
        }
@@ -207,7 +193,7 @@ _sprd_hwc_prepare_commit(tdm_sprd_hwc_data *hwc_data)
                if (use_layers_zpos[i])
                        continue;
 
-               layer_data = _sprd_hwc_get_layer(hwc_data, use_layers_zpos[i]);
+               layer_data = tdm_sprd_output_get_layer(hwc_data->output_data, use_layers_zpos[i]);
                _sprd_hwc_layer_attach_window(layer_data, NULL);
        }