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
217#define MSM_SUBMIT_FENCE_FD_IN 0x40000000 /* enable input fence_fd */217#define MSM_SUBMIT_FENCE_FD_IN 0x40000000 /* enable input fence_fd */
218#define MSM_SUBMIT_FENCE_FD_OUT 0x20000000 /* enable output fence_fd */218#define MSM_SUBMIT_FENCE_FD_OUT 0x20000000 /* enable output fence_fd */
219#define MSM_SUBMIT_SUDO 0x10000000 /* run submitted cmds from RB */219#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 */
220#define MSM_SUBMIT_FLAGS ( \222#define MSM_SUBMIT_FLAGS ( \
221 MSM_SUBMIT_NO_IMPLICIT | \223 MSM_SUBMIT_NO_IMPLICIT | \
222 MSM_SUBMIT_FENCE_FD_IN | \224 MSM_SUBMIT_FENCE_FD_IN | \
223 MSM_SUBMIT_FENCE_FD_OUT | \225 MSM_SUBMIT_FENCE_FD_OUT | \
224 MSM_SUBMIT_SUDO | \226 MSM_SUBMIT_SUDO | \
227 MSM_SUBMIT_SYNCOBJ_IN | \
228 MSM_SUBMIT_SYNCOBJ_OUT | \
225 0)229 0)
226 230
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
236struct 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
227/* Each cmdstream submit consists of a table of buffers involved, and242/* Each cmdstream submit consists of a table of buffers involved, and
228 * one or more cmdstream buffers. This allows for conditional execution243 * one or more cmdstream buffers. This allows for conditional execution
229 * (context-restore), and IB buffers needed for per tile/bin draw cmds.244 * (context-restore), and IB buffers needed for per tile/bin draw cmds.
@@ -236,7 +251,14 @@ struct drm_msm_gem_submit { · 6 unmodified lines
236 __u64 bos; /* in, ptr to array of submit_bo's */251 __u64 bos; /* in, ptr to array of submit_bo's */
237 __u64 cmds; /* in, ptr to array of submit_cmd's */252 __u64 cmds; /* in, ptr to array of submit_cmd's */
238 __s32 fence_fd; /* in/out fence fd (see MSM_SUBMIT_FENCE_FD_IN/OUT) */253 __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
240};262};
241 263
242/* The normal way to synchronize with the GPU is just to CPU_PREP on264/* The normal way to synchronize with the GPU is just to CPU_PREP on