diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0236-drm-amdgpu-add-VM-pointer-to-id-trace.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0236-drm-amdgpu-add-VM-pointer-to-id-trace.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0236-drm-amdgpu-add-VM-pointer-to-id-trace.patch b/common/recipes-kernel/linux/files/0236-drm-amdgpu-add-VM-pointer-to-id-trace.patch new file mode 100644 index 00000000..034679de --- /dev/null +++ b/common/recipes-kernel/linux/files/0236-drm-amdgpu-add-VM-pointer-to-id-trace.patch @@ -0,0 +1,83 @@ +From a5520f1d3b2a965e6d1177b412598edc8aa24930 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Thu, 7 Jan 2016 18:15:22 +0100 +Subject: [PATCH 0236/1110] drm/amdgpu: add VM pointer to id trace +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Because of the scheduler all traces come from the same thread now and +can't be distincted otherwise. + +Signed-off-by: Christian König <christian.koenig@amd.com> +Acked-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Chunming Zhou <david1.zhou@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 9 ++++++--- + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 +++--- + 2 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +index 2b94c63..e7d2676 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 870379a..e688fcf 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +@@ -181,7 +181,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; + } + } +@@ -197,7 +197,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; + } + +@@ -216,7 +216,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); + } + } +-- +2.7.4 + |