diff options
author | Christian König <christian.koenig@amd.com> | 2013-10-29 15:14:48 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-11-01 15:25:52 -0400 |
commit | 74d360f66b99231ed7007eb197dd18cda72c961c (patch) | |
tree | da91f27bc3a37b43b2da143462ef8c52dbac7f5e | |
parent | f9eaf9ae782d6480f179850e27e6f4911ac10227 (diff) |
drm/radeon: add vm_set_page tracepoint
Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/radeon/cik_sdma.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/ni_dma.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_trace.h | 24 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/si_dma.c | 3 |
4 files changed, 33 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c index b6286068e111..ec91427094e5 100644 --- a/drivers/gpu/drm/radeon/cik_sdma.c +++ b/drivers/gpu/drm/radeon/cik_sdma.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <drm/drmP.h> | 25 | #include <drm/drmP.h> |
26 | #include "radeon.h" | 26 | #include "radeon.h" |
27 | #include "radeon_asic.h" | 27 | #include "radeon_asic.h" |
28 | #include "radeon_trace.h" | ||
28 | #include "cikd.h" | 29 | #include "cikd.h" |
29 | 30 | ||
30 | /* sdma */ | 31 | /* sdma */ |
@@ -657,6 +658,8 @@ void cik_sdma_vm_set_page(struct radeon_device *rdev, | |||
657 | uint64_t value; | 658 | uint64_t value; |
658 | unsigned ndw; | 659 | unsigned ndw; |
659 | 660 | ||
661 | trace_radeon_vm_set_page(pe, addr, count, incr, r600_flags); | ||
662 | |||
660 | if (flags & RADEON_VM_PAGE_SYSTEM) { | 663 | if (flags & RADEON_VM_PAGE_SYSTEM) { |
661 | while (count) { | 664 | while (count) { |
662 | ndw = count * 2; | 665 | ndw = count * 2; |
diff --git a/drivers/gpu/drm/radeon/ni_dma.c b/drivers/gpu/drm/radeon/ni_dma.c index dd6e9688fbef..e9cfe8aaf298 100644 --- a/drivers/gpu/drm/radeon/ni_dma.c +++ b/drivers/gpu/drm/radeon/ni_dma.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <drm/drmP.h> | 24 | #include <drm/drmP.h> |
25 | #include "radeon.h" | 25 | #include "radeon.h" |
26 | #include "radeon_asic.h" | 26 | #include "radeon_asic.h" |
27 | #include "radeon_trace.h" | ||
27 | #include "nid.h" | 28 | #include "nid.h" |
28 | 29 | ||
29 | u32 cayman_gpu_check_soft_reset(struct radeon_device *rdev); | 30 | u32 cayman_gpu_check_soft_reset(struct radeon_device *rdev); |
@@ -260,6 +261,8 @@ void cayman_dma_vm_set_page(struct radeon_device *rdev, | |||
260 | uint64_t value; | 261 | uint64_t value; |
261 | unsigned ndw; | 262 | unsigned ndw; |
262 | 263 | ||
264 | trace_radeon_vm_set_page(pe, addr, count, incr, r600_flags); | ||
265 | |||
263 | if ((flags & RADEON_VM_PAGE_SYSTEM) || (count == 1)) { | 266 | if ((flags & RADEON_VM_PAGE_SYSTEM) || (count == 1)) { |
264 | while (count) { | 267 | while (count) { |
265 | ndw = count * 2; | 268 | ndw = count * 2; |
diff --git a/drivers/gpu/drm/radeon/radeon_trace.h b/drivers/gpu/drm/radeon/radeon_trace.h index f7e367815964..811bca691b36 100644 --- a/drivers/gpu/drm/radeon/radeon_trace.h +++ b/drivers/gpu/drm/radeon/radeon_trace.h | |||
@@ -47,6 +47,30 @@ TRACE_EVENT(radeon_cs, | |||
47 | __entry->fences) | 47 | __entry->fences) |
48 | ); | 48 | ); |
49 | 49 | ||
50 | TRACE_EVENT(radeon_vm_set_page, | ||
51 | TP_PROTO(uint64_t pe, uint64_t addr, unsigned count, | ||
52 | uint32_t incr, uint32_t flags), | ||
53 | TP_ARGS(pe, addr, count, incr, flags), | ||
54 | TP_STRUCT__entry( | ||
55 | __field(u64, pe) | ||
56 | __field(u64, addr) | ||
57 | __field(u32, count) | ||
58 | __field(u32, incr) | ||
59 | __field(u32, flags) | ||
60 | ), | ||
61 | |||
62 | TP_fast_assign( | ||
63 | __entry->pe = pe; | ||
64 | __entry->addr = addr; | ||
65 | __entry->count = count; | ||
66 | __entry->incr = incr; | ||
67 | __entry->flags = flags; | ||
68 | ), | ||
69 | TP_printk("pe=%010Lx, addr=%010Lx, incr=%u, flags=%08x, count=%u", | ||
70 | __entry->pe, __entry->addr, __entry->incr, | ||
71 | __entry->flags, __entry->count) | ||
72 | ); | ||
73 | |||
50 | DECLARE_EVENT_CLASS(radeon_fence_request, | 74 | DECLARE_EVENT_CLASS(radeon_fence_request, |
51 | 75 | ||
52 | TP_PROTO(struct drm_device *dev, u32 seqno), | 76 | TP_PROTO(struct drm_device *dev, u32 seqno), |
diff --git a/drivers/gpu/drm/radeon/si_dma.c b/drivers/gpu/drm/radeon/si_dma.c index 49909d23dfce..17205fd2643a 100644 --- a/drivers/gpu/drm/radeon/si_dma.c +++ b/drivers/gpu/drm/radeon/si_dma.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <drm/drmP.h> | 24 | #include <drm/drmP.h> |
25 | #include "radeon.h" | 25 | #include "radeon.h" |
26 | #include "radeon_asic.h" | 26 | #include "radeon_asic.h" |
27 | #include "radeon_trace.h" | ||
27 | #include "sid.h" | 28 | #include "sid.h" |
28 | 29 | ||
29 | u32 si_gpu_check_soft_reset(struct radeon_device *rdev); | 30 | u32 si_gpu_check_soft_reset(struct radeon_device *rdev); |
@@ -79,6 +80,8 @@ void si_dma_vm_set_page(struct radeon_device *rdev, | |||
79 | uint64_t value; | 80 | uint64_t value; |
80 | unsigned ndw; | 81 | unsigned ndw; |
81 | 82 | ||
83 | trace_radeon_vm_set_page(pe, addr, count, incr, r600_flags); | ||
84 | |||
82 | if (flags & RADEON_VM_PAGE_SYSTEM) { | 85 | if (flags & RADEON_VM_PAGE_SYSTEM) { |
83 | while (count) { | 86 | while (count) { |
84 | ndw = count * 2; | 87 | ndw = count * 2; |