aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0614-drm-amdgpu-add-VM-CS-mapping-trace-point.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0614-drm-amdgpu-add-VM-CS-mapping-trace-point.patch')
-rw-r--r--common/recipes-kernel/linux/files/0614-drm-amdgpu-add-VM-CS-mapping-trace-point.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0614-drm-amdgpu-add-VM-CS-mapping-trace-point.patch b/common/recipes-kernel/linux/files/0614-drm-amdgpu-add-VM-CS-mapping-trace-point.patch
new file mode 100644
index 00000000..c6030605
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0614-drm-amdgpu-add-VM-CS-mapping-trace-point.patch
@@ -0,0 +1,69 @@
+From 82c019e47995fc11f9aaf672683ad22890692e35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Mon, 28 Sep 2015 12:00:23 +0200
+Subject: [PATCH 0614/1050] drm/amdgpu: add VM CS mapping trace point
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Output all VM mappings a command submission uses.
+
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 12 +++++++++++-
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 8 ++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+index 961d726..76ecbaf 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+@@ -111,7 +111,7 @@ TRACE_EVENT(amdgpu_vm_bo_unmap,
+ __entry->offset, __entry->flags)
+ );
+
+-TRACE_EVENT(amdgpu_vm_bo_update,
++DECLARE_EVENT_CLASS(amdgpu_vm_mapping,
+ TP_PROTO(struct amdgpu_bo_va_mapping *mapping),
+ TP_ARGS(mapping),
+ TP_STRUCT__entry(
+@@ -129,6 +129,16 @@ TRACE_EVENT(amdgpu_vm_bo_update,
+ __entry->soffset, __entry->eoffset, __entry->flags)
+ );
+
++DEFINE_EVENT(amdgpu_vm_mapping, amdgpu_vm_bo_update,
++ TP_PROTO(struct amdgpu_bo_va_mapping *mapping),
++ TP_ARGS(mapping)
++);
++
++DEFINE_EVENT(amdgpu_vm_mapping, amdgpu_vm_bo_mapping,
++ TP_PROTO(struct amdgpu_bo_va_mapping *mapping),
++ TP_ARGS(mapping)
++);
++
+ TRACE_EVENT(amdgpu_vm_set_page,
+ TP_PROTO(uint64_t pe, uint64_t addr, unsigned count,
+ uint32_t incr, uint32_t flags),
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+index f54ab18..644fd9b 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+@@ -854,6 +854,14 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
+ return r;
+ }
+
++ if (trace_amdgpu_vm_bo_mapping_enabled()) {
++ list_for_each_entry(mapping, &bo_va->valids, list)
++ trace_amdgpu_vm_bo_mapping(mapping);
++
++ list_for_each_entry(mapping, &bo_va->invalids, list)
++ trace_amdgpu_vm_bo_mapping(mapping);
++ }
++
+ spin_lock(&vm->status_lock);
+ list_splice_init(&bo_va->invalids, &bo_va->valids);
+ list_del_init(&bo_va->vm_status);
+--
+1.9.1
+