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.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -68,6 +68,12 @@ struct drm_tegra_get_syncpt { · 67 unmodified lines | |||
| 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 { · 44 unmodified lines | |||
| 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 { · 4 unmodified lines | |||
| 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 |