msm: rotator: sync point support
Add MSM_ROTATOR_IOCTL_BUFFER_SYNC ioctl interface.
Rotator will create a timeline for each session at START, wait for
input fence and create released fence in this ioctl call,
signal the timeline after rotation is done.
Change-Id: I3738f8287d804ccd94e0a16ac0afb8b41b299c75
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
diff --git a/include/linux/msm_rotator.h b/include/linux/msm_rotator.h
index 17ae867..6f85d91 100644
--- a/include/linux/msm_rotator.h
+++ b/include/linux/msm_rotator.h
@@ -12,6 +12,8 @@
_IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
#define MSM_ROTATOR_IOCTL_FINISH \
_IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
+#define MSM_ROTATOR_IOCTL_BUFFER_SYNC \
+ _IOW(MSM_ROTATOR_IOCTL_MAGIC, 4, struct msm_rotator_buf_sync)
#define ROTATOR_VERSION_01 0xA5B4C301
@@ -21,6 +23,13 @@
ROTATOR_IMEM_CLK
};
+struct msm_rotator_buf_sync {
+ uint32_t session_id;
+ uint32_t flags;
+ int acq_fen_fd;
+ int rel_fen_fd;
+};
+
struct msm_rotator_img_info {
unsigned int session_id;
struct msmfb_img src;