Lines Matching refs:msm_cmd
39 struct msm_cmd {
75 DECLARE_ARRAY(struct msm_cmd *, cmds);
77 /* List of physical cmdstream buffers (msm_cmd) associated with this
98 /* maps msm_cmd to drm_msm_gem_submit_cmd in parent rb. Each rb has a
99 * list of msm_cmd's which correspond to each chunk of cmdstream in
120 static struct msm_cmd *current_cmd(struct fd_ringbuffer *ring)
124 return LIST_LAST_ENTRY(&msm_ring->cmd_list, struct msm_cmd, list);
127 static void ring_cmd_del(struct msm_cmd *cmd)
136 static struct msm_cmd * ring_cmd_new(struct fd_ringbuffer *ring, uint32_t size,
140 struct msm_cmd *cmd = calloc(1, sizeof(*cmd));
258 static int get_cmd(struct fd_ringbuffer *ring, struct msm_cmd *target_cmd,
316 struct msm_cmd *cmd = current_cmd(ring);
323 struct msm_cmd *cmd, *tmp;
344 struct msm_cmd *msm_cmd = msm_ring->cmds[i];
346 if (msm_cmd->ring == ring)
349 if (msm_cmd->ring->flags & FD_RINGBUFFER_OBJECT)
350 fd_ringbuffer_del(msm_cmd->ring);
444 struct msm_cmd *msm_cmd = msm_ring->cmds[i];
450 assert(msm_cmd->ring->flags & FD_RINGBUFFER_OBJECT);
452 if (get_cmd(parent, msm_cmd, cmd->submit_offset, cmd->size, cmd->type)) {
453 fd_ringbuffer_ref(msm_cmd->ring);
487 struct msm_cmd *msm_cmd = msm_ring->cmds[i];
488 struct drm_msm_gem_submit_reloc *relocs = msm_cmd->relocs;
490 unsigned nr_relocs = msm_cmd->nr_relocs;
498 if (msm_cmd->ring->flags & FD_RINGBUFFER_OBJECT) {
499 relocs = handle_stateobj_relocs(ring, msm_cmd->ring,
524 struct msm_cmd *msm_cmd = msm_ring->cmds[i];
525 msm_cmd->ring->last_timestamp = req.fence;
536 struct msm_cmd *msm_cmd = msm_ring->cmds[i];
537 if (msm_cmd->ring->flags & FD_RINGBUFFER_OBJECT) {
565 struct msm_cmd *cmd = current_cmd(ring);
616 struct msm_cmd *cmd = NULL;