diff options
author | Arto Merilainen <amerilainen@nvidia.com> | 2013-10-14 08:21:54 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2013-10-31 04:55:48 -0400 |
commit | c54a169b528d0ac2a5d3a7bf91f8534323bda83d (patch) | |
tree | bc2b2f9adef47c6ab2937ed05e55a752a0e2efb1 /include/uapi | |
parent | f5a954fed9b3eb04973ede72c50c66157fa9e15b (diff) |
drm/tegra: Deliver syncpoint base to user space
This patch adds a separate ioctl for delivering syncpoint base number
to user space. If the syncpoint does not have an associated base, the
function returns -ENXIO.
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/drm/tegra_drm.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/include/uapi/drm/tegra_drm.h b/include/uapi/drm/tegra_drm.h index 0f8575f58db8..5e1ab552cbed 100644 --- a/include/uapi/drm/tegra_drm.h +++ b/include/uapi/drm/tegra_drm.h | |||
@@ -68,6 +68,12 @@ struct drm_tegra_get_syncpt { | |||
68 | __u32 id; | 68 | __u32 id; |
69 | }; | 69 | }; |
70 | 70 | ||
71 | struct drm_tegra_get_syncpt_base { | ||
72 | __u64 context; | ||
73 | __u32 syncpt; | ||
74 | __u32 id; | ||
75 | }; | ||
76 | |||
71 | struct drm_tegra_syncpt { | 77 | struct drm_tegra_syncpt { |
72 | __u32 id; | 78 | __u32 id; |
73 | __u32 incrs; | 79 | __u32 incrs; |
@@ -118,15 +124,16 @@ struct drm_tegra_submit { | |||
118 | __u32 reserved[5]; /* future expansion */ | 124 | __u32 reserved[5]; /* future expansion */ |
119 | }; | 125 | }; |
120 | 126 | ||
121 | #define DRM_TEGRA_GEM_CREATE 0x00 | 127 | #define DRM_TEGRA_GEM_CREATE 0x00 |
122 | #define DRM_TEGRA_GEM_MMAP 0x01 | 128 | #define DRM_TEGRA_GEM_MMAP 0x01 |
123 | #define DRM_TEGRA_SYNCPT_READ 0x02 | 129 | #define DRM_TEGRA_SYNCPT_READ 0x02 |
124 | #define DRM_TEGRA_SYNCPT_INCR 0x03 | 130 | #define DRM_TEGRA_SYNCPT_INCR 0x03 |
125 | #define DRM_TEGRA_SYNCPT_WAIT 0x04 | 131 | #define DRM_TEGRA_SYNCPT_WAIT 0x04 |
126 | #define DRM_TEGRA_OPEN_CHANNEL 0x05 | 132 | #define DRM_TEGRA_OPEN_CHANNEL 0x05 |
127 | #define DRM_TEGRA_CLOSE_CHANNEL 0x06 | 133 | #define DRM_TEGRA_CLOSE_CHANNEL 0x06 |
128 | #define DRM_TEGRA_GET_SYNCPT 0x07 | 134 | #define DRM_TEGRA_GET_SYNCPT 0x07 |
129 | #define DRM_TEGRA_SUBMIT 0x08 | 135 | #define DRM_TEGRA_SUBMIT 0x08 |
136 | #define DRM_TEGRA_GET_SYNCPT_BASE 0x09 | ||
130 | 137 | ||
131 | #define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create) | 138 | #define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create) |
132 | #define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap) | 139 | #define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap) |
@@ -137,5 +144,6 @@ struct drm_tegra_submit { | |||
137 | #define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_open_channel) | 144 | #define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_open_channel) |
138 | #define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt) | 145 | #define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt) |
139 | #define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit) | 146 | #define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit) |
147 | #define DRM_IOCTL_TEGRA_GET_SYNCPT_BASE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT_BASE, struct drm_tegra_get_syncpt_base) | ||
140 | 148 | ||
141 | #endif | 149 | #endif |