diff options
author | Rakesh Iyer <riyer@nvidia.com> | 2013-10-28 16:02:14 -0700 |
---|---|---|
committer | Jon Mayo <jmayo@nvidia.com> | 2013-12-03 10:38:42 -0800 |
commit | 4116cbb96a1d8e0f0e216f8b905fc8636bde6154 (patch) | |
tree | cfcb48e705236652b5257b830a9a20fc2a1f60b5 /include/video | |
parent | 7bd91bec98d2524e4b0f536ce91847173f2764c9 (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.h | 25 |
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, |