summaryrefslogtreecommitdiff
path: root/include/video
diff options
context:
space:
mode:
authorRakesh Iyer <riyer@nvidia.com>2013-10-28 16:02:14 -0700
committerJon Mayo <jmayo@nvidia.com>2013-12-03 10:38:42 -0800
commit4116cbb96a1d8e0f0e216f8b905fc8636bde6154 (patch)
treecfcb48e705236652b5257b830a9a20fc2a1f60b5 /include/video
parent7bd91bec98d2524e4b0f536ce91847173f2764c9 (diff)
video: tegra: dc: allow fence fds in flip
Modify flip to allow fence file descriptors instead of syncpoint information Bug 1356564. Change-Id: I84fad52524cddb037e3ddc4512d3cd85ba394cee Signed-off-by: Rakesh Iyer <riyer@nvidia.com> Reviewed-on: http://git-master/r/336299 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Lauri Peltonen <lpeltonen@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Jon Mayo <jmayo@nvidia.com> Tested-by: Jon Mayo <jmayo@nvidia.com>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/tegra_dc_ext.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/include/video/tegra_dc_ext.h b/include/video/tegra_dc_ext.h
index 44f9bdf180b7..5b2eebde9915 100644
--- a/include/video/tegra_dc_ext.h
+++ b/include/video/tegra_dc_ext.h
@@ -118,8 +118,13 @@ struct tegra_dc_ext_flip_windowattr {
__u32 z;
__u32 swap_interval;
struct timespec timestamp;
- __u32 pre_syncpt_id;
- __u32 pre_syncpt_val;
+ union {
+ struct {
+ __u32 pre_syncpt_id;
+ __u32 pre_syncpt_val;
+ };
+ int pre_syncpt_fd;
+ };
/* These two are optional; if zero, U and V are taken from buff_id */
__u32 buff_id_u;
__u32 buff_id_v;
@@ -139,8 +144,8 @@ struct tegra_dc_ext_flip_windowattr {
struct tegra_dc_ext_flip {
struct tegra_dc_ext_flip_windowattr win[TEGRA_DC_EXT_FLIP_N_WINDOWS];
- __u32 post_syncpt_id;
- __u32 post_syncpt_val;
+ __u32 post_syncpt_id;
+ __u32 post_syncpt_val;
};
struct tegra_dc_ext_flip_2 {
@@ -153,6 +158,15 @@ struct tegra_dc_ext_flip_2 {
__u16 dirty_rect[4]; /* x,y,w,h for partial screen update. 0 ignores */
};
+struct tegra_dc_ext_flip_3 {
+ __u64 win; /* window attributes stored as __u64 for portability. */
+ __u8 win_num;
+ __u8 reserved1; /* unused - must be 0 */
+ __u16 reserved2; /* unused - must be 0 */
+ int post_syncpt_fd;
+ __u16 dirty_rect[4]; /* x,y,w,h for partial screen update. 0 ignores */
+};
+
/*
* Cursor image format:
*
@@ -395,6 +409,9 @@ struct tegra_dc_ext_feature {
#define TEGRA_DC_EXT_SET_PROPOSED_BW \
_IOR('D', 0x13, struct tegra_dc_ext_flip_2)
+#define TEGRA_DC_EXT_FLIP3 \
+ _IOWR('D', 0x14, struct tegra_dc_ext_flip_3)
+
enum tegra_dc_ext_control_output_type {
TEGRA_DC_EXT_DSI,
TEGRA_DC_EXT_LVDS,