Lines Matching refs:submit
258 struct msm_gem_submit *submit, char *comm, char *cmd)
279 if (submit) {
282 state->bos = kcalloc(submit->nr_bos,
285 for (i = 0; state->bos && i < submit->nr_bos; i++) {
286 msm_gpu_crashstate_get_bo(state, submit->bos[i].obj,
287 submit->bos[i].iova,
288 should_dump(submit, i));
301 struct msm_gem_submit *submit, char *comm, char *cmd)
313 struct msm_gem_submit *submit;
317 list_for_each_entry(submit, &ring->submits, node) {
318 if (submit->seqno == fence) {
320 return submit;
330 static void get_comm_cmdline(struct msm_gem_submit *submit, char **comm, char **cmd)
332 struct msm_file_private *ctx = submit->queue->ctx;
335 WARN_ON(!mutex_is_locked(&submit->gpu->lock));
341 task = get_pid_task(submit->pid, PIDTYPE_PID);
359 struct msm_gem_submit *submit;
368 submit = find_submit(cur_ring, cur_ring->memptrs->fence + 1);
369 if (submit) {
371 submit->queue->faults++;
372 if (submit->aspace)
373 submit->aspace->faults++;
375 get_comm_cmdline(submit, &comm, &cmd);
381 msm_rd_dump_submit(priv->hangrd, submit,
384 msm_rd_dump_submit(priv->hangrd, submit, NULL);
396 msm_gpu_crashstate_capture(gpu, submit, comm, cmd);
404 * bo's referenced by the offending submit are still around.
412 * For the current (faulting?) ring/submit advance the fence by
413 * one more to clear the faulting submit
436 list_for_each_entry(submit, &ring->submits, node)
437 gpu->funcs->submit(gpu, submit);
452 struct msm_gem_submit *submit;
458 submit = find_submit(cur_ring, cur_ring->memptrs->fence + 1);
459 if (submit && submit->fault_dumped)
462 if (submit) {
463 get_comm_cmdline(submit, &comm, &cmd);
469 submit->fault_dumped = true;
474 msm_gpu_crashstate_capture(gpu, submit, comm, cmd);
646 struct msm_gem_submit *submit)
648 int index = submit->seqno % MSM_GPU_SUBMIT_STATS_COUNT;
666 submit->queue->ctx->elapsed_ns += elapsed;
667 submit->queue->ctx->cycles += cycles;
669 trace_msm_gpu_submit_retired(submit, elapsed, clock,
672 msm_submit_retire(submit);
677 list_del(&submit->node);
691 msm_gem_submit_put(submit);
703 struct msm_gem_submit *submit = NULL;
707 submit = list_first_entry_or_null(&ring->submits,
712 * If no submit, we are done. If submit->fence hasn't
716 if (submit && dma_fence_is_signaled(submit->hw_fence)) {
717 retire_submit(gpu, ring, submit);
747 void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
749 struct msm_ringbuffer *ring = submit->ring;
758 submit->seqno = submit->hw_fence->seqno;
763 * ring->submits holds a ref to the submit, to deal with the case
764 * that a submit completes before msm_ioctl_gem_submit() returns.
766 msm_gem_submit_get(submit);
769 list_add_tail(&submit->node, &ring->submits);
781 gpu->funcs->submit(gpu, submit);
782 gpu->cur_ctx_seqno = submit->queue->ctx->seqno;