summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharat Masetty <smasetty@codeaurora.org>2017-11-28 17:34:01 +0530
committerSharat Masetty <smasetty@codeaurora.org>2017-11-28 17:34:01 +0530
commitc399b38fc907157cff8fc60c28077cc55573992d (patch)
tree4b43bf87c8c3824b950eb44539e3c3db47804f26
parentce488494ce823d2f5bff75c91726a95543bc7c29 (diff)
drm/msm: Save buffer iova's for rd-dump
rd-dump needs the buffer iova's captured in the submit path. This helps the offline parser construct the relocs correctly. Save the buffer iova's for the buffers which were not mapped yet and then call the API to rd-dump the submission. Change-Id: Ic771f3e76d8b3b943300e69fd62320f387c2d4c0 Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
-rw-r--r--drivers/gpu/drm/msm/msm_gpu.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index 44d9784d1bd7..50dd710aa510 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -526,8 +526,6 @@ int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
list_add_tail(&submit->node, &ring->submits);
- msm_rd_dump_submit(submit);
-
ring->submitted_fence = submit->fence;
submit->tick_index = ring->tick_index;
@@ -556,6 +554,8 @@ int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
/* ring takes a reference to the bo and iova: */
drm_gem_object_reference(&msm_obj->base);
msm_gem_get_iova(&msm_obj->base, aspace, &iova);
+
+ submit->bos[i].iova = iova;
}
if (submit->bos[i].flags & MSM_SUBMIT_BO_READ)
@@ -564,6 +564,8 @@ int msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
msm_gem_move_to_active(&msm_obj->base, gpu, true, submit->fence);
}
+ msm_rd_dump_submit(submit);
+
gpu->funcs->submit(gpu, submit);
hangcheck_timer_reset(gpu);