History

Merge https://gitlab.freedesktop.org/drm/msm into drm-next-msm-5.8

* new gpu support: a405, a640, a650 * dpu: color processing support * mdp5: support for msm8x36 (the thing with a405) * some prep work for per-context pagetables (ie the part that does not depend on in-flight iommu patches) * last but not least, UABI update for submit ioctl to support syncobj (from Bas)

Dave Airlie committed 6 years ago

Commit efe792f2 parents 3d77e6a 1cb2c4a47 files · +1697 −382Browse files

Showing the changes to include/uapi (1 of 47 files). Show all

Unified · Split

include/uapi/drm/msm_drm.h+23−1
@@ -217,13 +217,28 @@ struct drm_msm_gem_submit_bo { · 216 unmodified lines
217217 #define MSM_SUBMIT_FENCE_FD_IN 0x40000000 /* enable input fence_fd */
218218 #define MSM_SUBMIT_FENCE_FD_OUT 0x20000000 /* enable output fence_fd */
219219 #define MSM_SUBMIT_SUDO 0x10000000 /* run submitted cmds from RB */
220+#define MSM_SUBMIT_SYNCOBJ_IN 0x08000000 /* enable input syncobj */
221+#define MSM_SUBMIT_SYNCOBJ_OUT 0x04000000 /* enable output syncobj */
220222 #define MSM_SUBMIT_FLAGS ( \
221223 MSM_SUBMIT_NO_IMPLICIT | \
222224 MSM_SUBMIT_FENCE_FD_IN | \
223225 MSM_SUBMIT_FENCE_FD_OUT | \
224226 MSM_SUBMIT_SUDO | \
227+ MSM_SUBMIT_SYNCOBJ_IN | \
228+ MSM_SUBMIT_SYNCOBJ_OUT | \
225229 0)
226230
231+#define MSM_SUBMIT_SYNCOBJ_RESET 0x00000001 /* Reset syncobj after wait. */
232+#define MSM_SUBMIT_SYNCOBJ_FLAGS ( \
233+ MSM_SUBMIT_SYNCOBJ_RESET | \
234+ 0)
235+
236+struct drm_msm_gem_submit_syncobj {
237+ __u32 handle; /* in, syncobj handle. */
238+ __u32 flags; /* in, from MSM_SUBMIT_SYNCOBJ_FLAGS */
239+ __u64 point; /* in, timepoint for timeline syncobjs. */
240+};
241+
227242 /* Each cmdstream submit consists of a table of buffers involved, and
228243 * one or more cmdstream buffers. This allows for conditional execution
229244 * (context-restore), and IB buffers needed for per tile/bin draw cmds.
@@ -236,7 +251,14 @@ struct drm_msm_gem_submit { · 6 unmodified lines
236251 __u64 bos; /* in, ptr to array of submit_bo's */
237252 __u64 cmds; /* in, ptr to array of submit_cmd's */
238253 __s32 fence_fd; /* in/out fence fd (see MSM_SUBMIT_FENCE_FD_IN/OUT) */
239− __u32 queueid; /* in, submitqueue id */
254+ __u32 queueid; /* in, submitqueue id */
255+ __u64 in_syncobjs; /* in, ptr to to array of drm_msm_gem_submit_syncobj */
256+ __u64 out_syncobjs; /* in, ptr to to array of drm_msm_gem_submit_syncobj */
257+ __u32 nr_in_syncobjs; /* in, number of entries in in_syncobj */
258+ __u32 nr_out_syncobjs; /* in, number of entries in out_syncobj. */
259+ __u32 syncobj_stride; /* in, stride of syncobj arrays. */
260+ __u32 pad; /*in, reserved for future use, always 0. */
261+
240262 };
241263
242264 /* The normal way to synchronize with the GPU is just to CPU_PREP on