Lines Matching refs:submit
344 struct msm_gem_submit *submit, char *comm, char *cmd) in msm_gpu_crashstate_capture() argument
364 if (submit) { in msm_gpu_crashstate_capture()
368 for (i = 0; i < submit->nr_bos; i++) in msm_gpu_crashstate_capture()
369 if (should_dump(submit, i)) in msm_gpu_crashstate_capture()
372 for (i = 0; i < submit->nr_cmds; i++) in msm_gpu_crashstate_capture()
373 if (!should_dump(submit, submit->cmd[i].idx)) in msm_gpu_crashstate_capture()
379 for (i = 0; state->bos && i < submit->nr_bos; i++) { in msm_gpu_crashstate_capture()
380 if (should_dump(submit, i)) { in msm_gpu_crashstate_capture()
381 msm_gpu_crashstate_get_bo(state, submit->bos[i].obj, in msm_gpu_crashstate_capture()
382 submit->bos[i].iova, submit->bos[i].flags); in msm_gpu_crashstate_capture()
386 for (i = 0; state->bos && i < submit->nr_cmds; i++) { in msm_gpu_crashstate_capture()
387 int idx = submit->cmd[i].idx; in msm_gpu_crashstate_capture()
389 if (!should_dump(submit, submit->cmd[i].idx)) { in msm_gpu_crashstate_capture()
390 msm_gpu_crashstate_get_bo(state, submit->bos[idx].obj, in msm_gpu_crashstate_capture()
391 submit->bos[idx].iova, submit->bos[idx].flags); in msm_gpu_crashstate_capture()
405 struct msm_gem_submit *submit, char *comm, char *cmd) in msm_gpu_crashstate_capture() argument
417 struct msm_gem_submit *submit; in update_fences() local
419 list_for_each_entry(submit, &ring->submits, node) { in update_fences()
420 if (submit->seqno > fence) in update_fences()
423 msm_update_fence(submit->ring->fctx, in update_fences()
424 submit->fence->seqno); in update_fences()
431 struct msm_gem_submit *submit; in find_submit() local
435 list_for_each_entry(submit, &ring->submits, node) in find_submit()
436 if (submit->seqno == fence) in find_submit()
437 return submit; in find_submit()
449 struct msm_gem_submit *submit; in recover_worker() local
458 submit = find_submit(cur_ring, cur_ring->memptrs->fence + 1); in recover_worker()
459 if (submit) { in recover_worker()
464 submit->queue->faults++; in recover_worker()
466 task = get_pid_task(submit->pid, PIDTYPE_PID); in recover_worker()
477 msm_rd_dump_submit(priv->hangrd, submit, in recover_worker()
480 msm_rd_dump_submit(priv->hangrd, submit, NULL); in recover_worker()
485 msm_gpu_crashstate_capture(gpu, submit, comm, cmd); in recover_worker()
526 list_for_each_entry(submit, &ring->submits, node) in recover_worker()
527 gpu->funcs->submit(gpu, submit); in recover_worker()
678 struct msm_gem_submit *submit) in retire_submit() argument
680 int index = submit->seqno % MSM_GPU_SUBMIT_STATS_COUNT; in retire_submit()
696 trace_msm_gpu_submit_retired(submit, elapsed, clock, in retire_submit()
699 for (i = 0; i < submit->nr_bos; i++) { in retire_submit()
700 struct msm_gem_object *msm_obj = submit->bos[i].obj; in retire_submit()
703 msm_gem_unpin_iova(&msm_obj->base, submit->aspace); in retire_submit()
709 msm_gem_submit_free(submit); in retire_submit()
715 struct msm_gem_submit *submit, *tmp; in retire_submits() local
724 list_for_each_entry_safe(submit, tmp, &ring->submits, node) { in retire_submits()
725 if (dma_fence_is_signaled(submit->fence)) in retire_submits()
726 retire_submit(gpu, ring, submit); in retire_submits()
754 void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) in msm_gpu_submit() argument
758 struct msm_ringbuffer *ring = submit->ring; in msm_gpu_submit()
767 submit->seqno = ++ring->seqno; in msm_gpu_submit()
769 list_add_tail(&submit->node, &ring->submits); in msm_gpu_submit()
771 msm_rd_dump_submit(priv->rd, submit, NULL); in msm_gpu_submit()
775 for (i = 0; i < submit->nr_bos; i++) { in msm_gpu_submit()
776 struct msm_gem_object *msm_obj = submit->bos[i].obj; in msm_gpu_submit()
787 msm_gem_get_and_pin_iova(&msm_obj->base, submit->aspace, &iova); in msm_gpu_submit()
789 if (submit->bos[i].flags & MSM_SUBMIT_BO_WRITE) in msm_gpu_submit()
790 dma_resv_add_excl_fence(drm_obj->resv, submit->fence); in msm_gpu_submit()
791 else if (submit->bos[i].flags & MSM_SUBMIT_BO_READ) in msm_gpu_submit()
792 dma_resv_add_shared_fence(drm_obj->resv, submit->fence); in msm_gpu_submit()
797 gpu->funcs->submit(gpu, submit); in msm_gpu_submit()
798 priv->lastctx = submit->queue->ctx; in msm_gpu_submit()