aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/drm/etnaviv_drm.h
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2017-03-02 16:05:45 +0100
committerLucas Stach <l.stach@pengutronix.de>2017-03-29 16:17:46 +0200
commit9ad59fea162c139f62335f0ca0ce1fdf4f82bd91 (patch)
tree9d8b53d40a58256c1b8eaed034b3a84cfbbeb376 /include/uapi/drm/etnaviv_drm.h
parentdrm/etnaviv: add etnaviv cooling device (diff)
downloadlinux-dev-9ad59fea162c139f62335f0ca0ce1fdf4f82bd91.tar.xz
linux-dev-9ad59fea162c139f62335f0ca0ce1fdf4f82bd91.zip
drm/etnaviv: submit support for in-fences
Loosely based on commit f0a42bb5423a ("drm/msm: submit support for in-fences"). Unfortunately, struct drm_etnaviv_gem_submit doesn't have a flags field yet, so we have to extend the structure and trust that drm_ioctl will clear the flags for us if an older userspace only submits part of the struct. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.com> Reviewed-by: Sumit Semwal <sumit.semwal@linaro.org> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Diffstat (limited to 'include/uapi/drm/etnaviv_drm.h')
-rw-r--r--include/uapi/drm/etnaviv_drm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/uapi/drm/etnaviv_drm.h b/include/uapi/drm/etnaviv_drm.h
index 2584c1cca42f..e9c388a1d8eb 100644
--- a/include/uapi/drm/etnaviv_drm.h
+++ b/include/uapi/drm/etnaviv_drm.h
@@ -154,6 +154,10 @@ struct drm_etnaviv_gem_submit_bo {
* one or more cmdstream buffers. This allows for conditional execution
* (context-restore), and IB buffers needed for per tile/bin draw cmds.
*/
+#define ETNA_SUBMIT_NO_IMPLICIT 0x0001
+#define ETNA_SUBMIT_FENCE_FD_IN 0x0002
+#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \
+ ETNA_SUBMIT_FENCE_FD_IN)
#define ETNA_PIPE_3D 0x00
#define ETNA_PIPE_2D 0x01
#define ETNA_PIPE_VG 0x02
@@ -167,6 +171,8 @@ struct drm_etnaviv_gem_submit {
__u64 bos; /* in, ptr to array of submit_bo's */
__u64 relocs; /* in, ptr to array of submit_reloc's */
__u64 stream; /* in, ptr to cmdstream */
+ __u32 flags; /* in, mask of ETNA_SUBMIT_x */
+ __s32 fence_fd; /* in, fence fd (see ETNA_SUBMIT_FENCE_FD_IN) */
};
/* The normal way to synchronize with the GPU is just to CPU_PREP on