* Taeheon Kim <th908.kim@samsung.com>,
* YoungJun Cho <yj44.cho@samsung.com>,
* SooChan Lim <sc1.lim@samsung.com>,
- * Boram Park <sc1.lim@samsung.com>
+ * Boram Park <boram1288.park@samsung.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
} \
} while (0)
+/* common backend names *****************************************************/
+#define TDM_DEFAULT_MODULE "libtdm-default.so"
+#define TDM_DUMMY_MODULE "libtdm-dummy.so"
+#define TDM_VIRTUAL_MODULE "libtdm-virtual.so"
+
/* dump directory ***********************************************************/
#define TDM_DUMP_DIR "/tmp"
#define TDM_OUTPUT_DPMS_VSYNC_IS_OFF(dpms) ((dpms) & TDM_OUTPUT_DPMS_VSYNC_OFF_MASK)
/* strtostr *****************************************************************/
+/* LCOV_EXCL_START */
static inline char*
strtostr(char *buf, int len, char *str, char *delim)
{
snprintf(buf, len, "%s", str);
return str + len - 1;
}
+/* LCOV_EXCL_STOP */
/* EXTERN, INTERN, DEPRECATED ***********************************************/
#undef EXTERN
};
TDM_TYPE_NAME_FN(conn)
+static struct tdm_type_name tdm_capture_type_names[] = {
+ { TDM_CAPTURE_TYPE_ONESHOT, "none" },
+ { TDM_CAPTURE_TYPE_STREAM, "90" },
+};
+TDM_TYPE_NAME_FN(capture_type)
+
static struct tdm_type_name tdm_transform_names[] = {
{ TDM_TRANSFORM_NORMAL, "none" },
{ TDM_TRANSFORM_90, "90" },
static struct tdm_type_name tdm_cb_type_names[] = {
{ TDM_THREAD_CB_NONE, "none" },
+ { TDM_THREAD_CB_EXIT, "exit" },
+ { TDM_THREAD_CB_DISPLAY_OUTPUT_CREATE, "output-create" },
+ { TDM_THREAD_CB_OUTPUT_DESTROY, "output-destroy" },
{ TDM_THREAD_CB_OUTPUT_COMMIT, "output-commit" },
{ TDM_THREAD_CB_OUTPUT_VBLANK, "output-vblank" },
- { TDM_THREAD_CB_OUTPUT_CHANGE, "output-change" },
+ { TDM_THREAD_CB_OUTPUT_STATUS, "output-status" },
+ { TDM_THREAD_CB_OUTPUT_DPMS, "output-dpms" },
{ TDM_THREAD_CB_PP_DONE, "pp-done" },
{ TDM_THREAD_CB_CAPTURE_DONE, "capture-done" },
{ TDM_THREAD_CB_VBLANK_SW, "vblank-sw" },
{ TDM_THREAD_CB_VBLANK_CREATE, "vblank-create" },
- { TDM_THREAD_CB_NEED_VALIDATE, "need-validate" },
+ { TDM_THREAD_CB_HWC_COMMIT, "hwc-commit" },
+ { TDM_THREAD_CB_VOUTPUT_COMMIT, "voutput-commit" },
};
TDM_TYPE_NAME_FN(cb_type)
#define tdm_display_unlock(dpy) _pthread_mutex_unlock(&((tdm_private_display *)dpy)->lock)
+/* debugging mutex ************************************************************/
+extern pthread_mutex_t tdm_debug_mutex_check_lock;
+extern const char *tdm_debug_mutex_lock_func;
+extern int tdm_debug_mutex_lock_line;
+
+#define _debug_pthread_mutex_lock(l) \
+ do { \
+ pthread_mutex_lock(l); \
+ pthread_mutex_lock(&tdm_debug_mutex_check_lock); \
+ tdm_debug_mutex_lock_func = __FUNCTION__; \
+ tdm_debug_mutex_lock_line = __LINE__; \
+ pthread_mutex_unlock(&tdm_debug_mutex_check_lock); \
+ } while (0)
+
+#define _debug_pthread_mutex_unlock(l) \
+ do { \
+ pthread_mutex_lock(&tdm_debug_mutex_check_lock); \
+ tdm_debug_mutex_lock_func = NULL; \
+ tdm_debug_mutex_lock_line = 0; \
+ pthread_mutex_unlock(&tdm_debug_mutex_check_lock); \
+ pthread_mutex_unlock(l); \
+ } while (0)
+
#ifdef __cplusplus
}
#endif