summaryrefslogtreecommitdiff
path: root/include/video
diff options
context:
space:
mode:
authorJon Mayo <jmayo@nvidia.com>2014-03-05 11:15:40 -0800
committerJon Mayo <jmayo@nvidia.com>2014-03-07 13:04:11 -0800
commit51876644d71c25ee6c1b25b24dcbd6166aedfac4 (patch)
tree07acf51e9790712ae2ea0b6d29c90b9e58d46312 /include/video
parent8773984005dfae7d1dcba1907698cf38ca73618e (diff)
video: tegra: dc: fix structs for 64-bit
Add compat ioctls and clean up data structures where it would be simplier to break the old 64-bit APIs for a new one that works. Some user space binaries will have to be rebuilt after this patch, but those binaries were almost certainly already broken as the driver wasn't doing the right thing. adds 32-bit compat version of: TEGRA_DC_EXT_CONTROL_GET_OUTPUT_EDID TEGRA_DC_EXT_FLIP2 TEGRA_DC_EXT_SET_PROPOSED_BW TEGRA_DC_EXT_SET_LUT TEGRA_DC_EXT_GET_FEATURES updates struct tegra_dc_ext_flip_windowattr to be the same size in both environments. This allows these ioctls to work: TEGRA_DC_EXT_FLIP TEGRA_DC_EXT_FLIP3 Bug 1466416 Change-Id: I17b8ba1b1fc5ace659b7db99dd252c03e96273e8 Signed-off-by: Jon Mayo <jmayo@nvidia.com> Reviewed-on: http://git-master/r/378129 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'include/video')
-rw-r--r--include/video/tegra_dc_ext.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/include/video/tegra_dc_ext.h b/include/video/tegra_dc_ext.h
index 5b2eebde9915..72e6329b02e7 100644
--- a/include/video/tegra_dc_ext.h
+++ b/include/video/tegra_dc_ext.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2013, NVIDIA Corporation. All rights reserved.
+ * Copyright (C) 2011-2014, NVIDIA Corporation. All rights reserved.
*
* Author: Robert Morell <rmorell@nvidia.com>
* Some code based on fbdev extensions written by:
@@ -93,6 +93,11 @@
#define TEGRA_DC_EXT_FLIP_FLAG_SCAN_COLUMN (1 << 6)
#define TEGRA_DC_EXT_FLIP_FLAG_INTERLACE (1 << 7)
+struct tegra_timespec {
+ __s32 tv_sec; /* seconds */
+ __s32 tv_nsec; /* nanoseconds */
+};
+
struct tegra_dc_ext_flip_windowattr {
__s32 index;
__u32 buff_id;
@@ -117,13 +122,13 @@ struct tegra_dc_ext_flip_windowattr {
__u32 out_h;
__u32 z;
__u32 swap_interval;
- struct timespec timestamp;
+ struct tegra_timespec timestamp;
union {
struct {
__u32 pre_syncpt_id;
__u32 pre_syncpt_val;
};
- int pre_syncpt_fd;
+ __s32 pre_syncpt_fd;
};
/* These two are optional; if zero, U and V are taken from buff_id */
__u32 buff_id_u;
@@ -159,11 +164,11 @@ struct tegra_dc_ext_flip_2 {
};
struct tegra_dc_ext_flip_3 {
- __u64 win; /* window attributes stored as __u64 for portability. */
+ __u64 win; /* pointer: struct tegra_dc_ext_flip_windowattr* */
__u8 win_num;
__u8 reserved1; /* unused - must be 0 */
__u16 reserved2; /* unused - must be 0 */
- int post_syncpt_fd;
+ __s32 post_syncpt_fd;
__u16 dirty_rect[4]; /* x,y,w,h for partial screen update. 0 ignores */
};
@@ -400,9 +405,11 @@ struct tegra_dc_ext_feature {
#define TEGRA_DC_EXT_GET_CUSTOM_CMU \
_IOR('D', 0x10, struct tegra_dc_ext_cmu)
+/* obsolete - do not use */
#define TEGRA_DC_EXT_SET_CURSOR_IMAGE_LOW_LATENCY \
_IOW('D', 0x11, struct tegra_dc_ext_cursor_image)
+/* obsolete - do not use */
#define TEGRA_DC_EXT_SET_CURSOR_LOW_LATENCY \
_IOW('D', 0x12, struct tegra_dc_ext_cursor_image)
@@ -458,7 +465,7 @@ struct tegra_dc_ext_control_output_edid {
struct tegra_dc_ext_event {
__u32 type;
- ssize_t data_size;
+ __u32 data_size;
char data[0];
};