From: Christian König Date: Thu, 7 Jan 2016 17:15:22 +0000 (+0100) Subject: drm/amdgpu: add VM pointer to id trace X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=165e4e07c2cb91658c444ac4dab49473bfb3847b;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git drm/amdgpu: add VM pointer to id trace Because of the scheduler all traces come from the same thread now and can't be distincted otherwise. Signed-off-by: Christian König Acked-by: Alex Deucher Reviewed-by: Chunming Zhou Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h index 2b94c6391086..e7d2676839e1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h @@ -100,18 +100,21 @@ TRACE_EVENT(amdgpu_sched_run_job, TRACE_EVENT(amdgpu_vm_grab_id, - TP_PROTO(unsigned vmid, int ring), - TP_ARGS(vmid, ring), + TP_PROTO(struct amdgpu_vm *vm, unsigned vmid, int ring), + TP_ARGS(vm, vmid, ring), TP_STRUCT__entry( + __field(struct amdgpu_vm *, vm) __field(u32, vmid) __field(u32, ring) ), TP_fast_assign( + __entry->vm = vm; __entry->vmid = vmid; __entry->ring = ring; ), - TP_printk("vmid=%u, ring=%u", __entry->vmid, __entry->ring) + TP_printk("vm=%p, id=%u, ring=%u", __entry->vm, __entry->vmid, + __entry->ring) ); TRACE_EVENT(amdgpu_vm_bo_map, diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index cc28bdc02078..edbb3ff4e731 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -174,7 +174,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, owner = atomic_long_read(&adev->vm_manager.ids[id].owner); if (owner == (long)vm) { - trace_amdgpu_vm_grab_id(vm_id->id, ring->idx); + trace_amdgpu_vm_grab_id(vm, vm_id->id, ring->idx); return 0; } } @@ -190,7 +190,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, if (fence == NULL) { /* found a free one */ vm_id->id = i; - trace_amdgpu_vm_grab_id(i, ring->idx); + trace_amdgpu_vm_grab_id(vm, i, ring->idx); return 0; } @@ -209,7 +209,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, fence = adev->vm_manager.ids[choices[i]].active; vm_id->id = choices[i]; - trace_amdgpu_vm_grab_id(choices[i], ring->idx); + trace_amdgpu_vm_grab_id(vm, choices[i], ring->idx); return amdgpu_sync_fence(ring->adev, sync, fence); } }