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;