Lines Matching defs:cmd
38 * traditional reloc and cmd tracking
80 struct msm_cmd *cmd = malloc(sizeof(*cmd));
81 cmd->ring_bo = fd_bo_ref(ring_bo);
82 cmd->size = 0;
83 cmd->nr_relocs = cmd->max_relocs = 0;
84 cmd->relocs = NULL;
85 return cmd;
89 cmd_free(struct msm_cmd *cmd)
91 fd_bo_del(cmd->ring_bo);
92 free(cmd->relocs);
93 free(cmd);
116 struct msm_cmd *cmd; /* current cmd */
252 struct msm_cmd *cmd = ring->cmd;
255 relocs = malloc(cmd->nr_relocs * sizeof(*relocs));
257 for (unsigned i = 0; i < cmd->nr_relocs; i++) {
258 unsigned idx = cmd->relocs[i].reloc_idx;
261 relocs[i] = cmd->relocs[i];
321 cmds[i].nr_relocs = msm_ring->cmd->nr_relocs;
447 if (!msm_ring->cmd)
450 assert(msm_ring->cmd->ring_bo == msm_ring->ring_bo);
452 msm_ring->cmd->size = offset_bytes(ring->cur, ring->start);
453 APPEND(&msm_ring->u, cmds, msm_ring->cmd);
454 msm_ring->cmd = NULL;
469 msm_ring->cmd = cmd_new(msm_ring->ring_bo);
502 APPEND(msm_ring->cmd, relocs,
515 APPEND(msm_ring->cmd, relocs,
625 if (msm_ring->cmd)
626 cmd_free(msm_ring->cmd);
679 msm_ring->cmd = cmd_new(msm_ring->ring_bo);