msm: mdss: Non-blocking display commit
Schedule a workqueue, do the current job in the workqueue handler.
Block the second entry if the first one has not finished
Display commit ioctl will do what pan_display
can do, addtionally has customized setting, such
as non-blocking call
Change-Id: Iccced7d7540c6a8bb066f58fa245bbff5ed36fcb
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
diff --git a/include/linux/msm_mdp.h b/include/linux/msm_mdp.h
index 6736136..abd4f3a 100644
--- a/include/linux/msm_mdp.h
+++ b/include/linux/msm_mdp.h
@@ -73,6 +73,8 @@
#define MSMFB_METADATA_SET _IOW(MSMFB_IOCTL_MAGIC, 162, struct msmfb_metadata)
#define MSMFB_OVERLAY_COMMIT _IO(MSMFB_IOCTL_MAGIC, 163)
#define MSMFB_BUFFER_SYNC _IOW(MSMFB_IOCTL_MAGIC, 164, struct mdp_buf_sync)
+#define MSMFB_DISPLAY_COMMIT _IOW(MSMFB_IOCTL_MAGIC, 165, \
+ struct mdp_display_commit)
#define FB_TYPE_3D_PANEL 0x10101010
#define MDP_IMGTYPE2_START 0x10000
@@ -563,6 +565,14 @@
int *rel_fen_fd;
};
+#define MDP_DISPLAY_COMMIT_OVERLAY 1
+
+struct mdp_display_commit {
+ uint32_t flags;
+ uint32_t wait_for_finish;
+ struct fb_var_screeninfo var;
+};
+
struct mdp_page_protection {
uint32_t page_protection;
};