add tdm_output_get_pipe function
authorBoram Park <boram1288.park@samsung.com>
Mon, 30 Nov 2015 11:23:10 +0000 (20:23 +0900)
committerBoram Park <boram1288.park@samsung.com>
Mon, 30 Nov 2015 11:23:43 +0000 (20:23 +0900)
Change-Id: I972162b6a8e14d44d74d0dffa31c238f699a20be

include/tdm.h
src/tdm.c
src/tdm_display.c
src/tdm_private.h

index 3da2e4a..2b627f8 100644 (file)
@@ -81,6 +81,7 @@ tdm_error   tdm_output_get_available_modes(tdm_output *output, const tdm_output_
 tdm_error   tdm_output_get_available_size(tdm_output *output, int *min_w, int *min_h, int *max_w, int *max_h, int *preferred_align);
 tdm_error   tdm_output_get_physical_size(tdm_output *output, unsigned int *mmWidth, unsigned int *mmHeight);
 tdm_error   tdm_output_get_subpixel(tdm_output *output, unsigned int *subpixel);
+tdm_error   tdm_output_get_pipe(tdm_output *output, unsigned int *pipe);
 
 tdm_error   tdm_output_set_property(tdm_output *output, unsigned int id, tdm_value value);
 tdm_error   tdm_output_get_property(tdm_output *output, unsigned int id, tdm_value *value);
index 5cafa20..fec1b73 100644 (file)
--- a/src/tdm.c
+++ b/src/tdm.c
@@ -349,7 +349,7 @@ failed_update:
 }
 
 static tdm_error
-_tdm_display_update_output(tdm_private_display *private_display, tdm_output *output)
+_tdm_display_update_output(tdm_private_display *private_display, tdm_output *output, int pipe)
 {
     tdm_func_display *func_display = &private_display->func_display;
     tdm_private_output *private_output = NULL;
@@ -367,6 +367,7 @@ _tdm_display_update_output(tdm_private_display *private_display, tdm_output *out
         private_output->func_display = func_display;
         private_output->private_display = private_display;
         private_output->output = output;
+        private_output->pipe = pipe;
 
         LIST_INITHEAD(&private_output->layer_list);
         LIST_INITHEAD(&private_output->capture_list);
@@ -428,7 +429,7 @@ _tdm_display_update_internal(tdm_private_display *private_display, int only_disp
 
     for (i = 0; i < output_count; i++)
     {
-        ret = _tdm_display_update_output(private_display, outputs[i]);
+        ret = _tdm_display_update_output(private_display, outputs[i], i);
         if (ret != TDM_ERROR_NONE)
             goto failed_update;
     }
index 82292cf..9da5d3a 100644 (file)
@@ -514,6 +514,22 @@ tdm_output_get_subpixel(tdm_output *output, unsigned int *subpixel)
 }
 
 EXTERN tdm_error
+tdm_output_get_pipe(tdm_output *output, unsigned int *pipe)
+{
+    OUTPUT_FUNC_ENTRY();
+    TDM_RETURN_VAL_IF_FAIL(pipe != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+    pthread_mutex_lock(&private_display->lock);
+
+    *pipe = private_output->pipe;
+
+    pthread_mutex_unlock(&private_display->lock);
+
+    return ret;
+}
+
+
+EXTERN tdm_error
 tdm_output_set_property(tdm_output *output, unsigned int id, tdm_value value)
 {
     tdm_func_display *func_display;
index 1553555..bd67062 100644 (file)
@@ -181,6 +181,8 @@ struct _tdm_private_output
     tdm_caps_output caps;
     tdm_output *output;
 
+    unsigned int pipe;
+
     int regist_vblank_cb;
     int regist_commit_cb;