Lines Matching refs:submit
336 struct msm_gem_submit *submit, char *comm, char *cmd) in msm_gpu_crashstate_capture() argument
356 if (submit) { in msm_gpu_crashstate_capture()
359 state->bos = kcalloc(submit->nr_cmds, in msm_gpu_crashstate_capture()
362 for (i = 0; state->bos && i < submit->nr_cmds; i++) { in msm_gpu_crashstate_capture()
363 int idx = submit->cmd[i].idx; in msm_gpu_crashstate_capture()
365 msm_gpu_crashstate_get_bo(state, submit->bos[idx].obj, in msm_gpu_crashstate_capture()
366 submit->bos[idx].iova, submit->bos[idx].flags); in msm_gpu_crashstate_capture()
379 struct msm_gem_submit *submit, char *comm, char *cmd) in msm_gpu_crashstate_capture() argument
391 struct msm_gem_submit *submit; in update_fences() local
393 list_for_each_entry(submit, &ring->submits, node) { in update_fences()
394 if (submit->seqno > fence) in update_fences()
397 msm_update_fence(submit->ring->fctx, in update_fences()
398 submit->fence->seqno); in update_fences()
405 struct msm_gem_submit *submit; in find_submit() local
409 list_for_each_entry(submit, &ring->submits, node) in find_submit()
410 if (submit->seqno == fence) in find_submit()
411 return submit; in find_submit()
423 struct msm_gem_submit *submit; in recover_worker() local
432 submit = find_submit(cur_ring, cur_ring->memptrs->fence + 1); in recover_worker()
433 if (submit) { in recover_worker()
438 submit->queue->faults++; in recover_worker()
440 task = get_pid_task(submit->pid, PIDTYPE_PID); in recover_worker()
451 msm_rd_dump_submit(priv->hangrd, submit, in recover_worker()
454 msm_rd_dump_submit(priv->hangrd, submit, NULL); in recover_worker()
459 msm_gpu_crashstate_capture(gpu, submit, comm, cmd); in recover_worker()
500 list_for_each_entry(submit, &ring->submits, node) in recover_worker()
501 gpu->funcs->submit(gpu, submit, NULL); in recover_worker()
652 struct msm_gem_submit *submit) in retire_submit() argument
654 int index = submit->seqno % MSM_GPU_SUBMIT_STATS_COUNT; in retire_submit()
670 trace_msm_gpu_submit_retired(submit, elapsed, clock, in retire_submit()
673 for (i = 0; i < submit->nr_bos; i++) { in retire_submit()
674 struct msm_gem_object *msm_obj = submit->bos[i].obj; in retire_submit()
677 msm_gem_unpin_iova(&msm_obj->base, submit->aspace); in retire_submit()
683 msm_gem_submit_free(submit); in retire_submit()
689 struct msm_gem_submit *submit, *tmp; in retire_submits() local
698 list_for_each_entry_safe(submit, tmp, &ring->submits, node) { in retire_submits()
699 if (dma_fence_is_signaled(submit->fence)) in retire_submits()
700 retire_submit(gpu, ring, submit); in retire_submits()
728 void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, in msm_gpu_submit() argument
733 struct msm_ringbuffer *ring = submit->ring; in msm_gpu_submit()
742 submit->seqno = ++ring->seqno; in msm_gpu_submit()
744 list_add_tail(&submit->node, &ring->submits); in msm_gpu_submit()
746 msm_rd_dump_submit(priv->rd, submit, NULL); in msm_gpu_submit()
750 for (i = 0; i < submit->nr_bos; i++) { in msm_gpu_submit()
751 struct msm_gem_object *msm_obj = submit->bos[i].obj; in msm_gpu_submit()
761 msm_gem_get_and_pin_iova(&msm_obj->base, submit->aspace, &iova); in msm_gpu_submit()
763 if (submit->bos[i].flags & MSM_SUBMIT_BO_WRITE) in msm_gpu_submit()
764 msm_gem_move_to_active(&msm_obj->base, gpu, true, submit->fence); in msm_gpu_submit()
765 else if (submit->bos[i].flags & MSM_SUBMIT_BO_READ) in msm_gpu_submit()
766 msm_gem_move_to_active(&msm_obj->base, gpu, false, submit->fence); in msm_gpu_submit()
769 gpu->funcs->submit(gpu, submit, ctx); in msm_gpu_submit()