summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2015-02-23 16:42:03 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:57:26 -0400
commitced17a2d31a49b771b0cc9715f15330a408f8e69 (patch)
tree839b5a7f3c3b32aa3b5177cf2b21e19afc06b0fe /include/trace
parent5f6cc1289e4282ac034bd97a67a86e05b82915d0 (diff)
gpu: nvgpu: Use busy looping for flush operations
Use busy looping for l2 tag flush and elpg flush operations. This is making total flash time more accurate and reduced overall time compared with usleep. Also added trace points to measure performance for these operations. Also corrected timeout error check for non-silicon platforms. Bug 200081799 Change-Id: I63410bb7528db9258501633996fbdee5fdec1c74 Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/710472 (cherry picked from commit 18684cf9d5d6870a1a1fd5711c4fc2d733caad20) Reviewed-on: http://git-master/r/710986 GVS: Gerrit_Virtual_Submit Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/gk20a.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/trace/events/gk20a.h b/include/trace/events/gk20a.h
index 096b0559..ad738f43 100644
--- a/include/trace/events/gk20a.h
+++ b/include/trace/events/gk20a.h
@@ -130,6 +130,16 @@ DEFINE_EVENT(gk20a, gr_gk20a_handle_sw_method,
130 TP_ARGS(name) 130 TP_ARGS(name)
131); 131);
132 132
133DEFINE_EVENT(gk20a, gk20a_mm_g_elpg_flush_locked,
134 TP_PROTO(const char *name),
135 TP_ARGS(name)
136);
137
138DEFINE_EVENT(gk20a, gk20a_mm_g_elpg_flush_locked_done,
139 TP_PROTO(const char *name),
140 TP_ARGS(name)
141);
142
133TRACE_EVENT(gk20a_channel_update, 143TRACE_EVENT(gk20a_channel_update,
134 TP_PROTO(const void *channel), 144 TP_PROTO(const void *channel),
135 TP_ARGS(channel), 145 TP_ARGS(channel),
@@ -368,6 +378,43 @@ TRACE_EVENT(gk20a_mmu_fault,
368 __entry->engine, __entry->client, __entry->fault_type) 378 __entry->engine, __entry->client, __entry->fault_type)
369); 379);
370 380
381TRACE_EVENT(gk20a_ltc_cbc_ctrl_start,
382 TP_PROTO(const char *name, u32 cbc_ctrl, u32 min_value,
383 u32 max_value),
384 TP_ARGS(name, cbc_ctrl, min_value, max_value),
385
386 TP_STRUCT__entry(
387 __field(const char *, name)
388 __field(u32, cbc_ctrl)
389 __field(u32, min_value)
390 __field(u32, max_value)
391 ),
392
393 TP_fast_assign(
394 __entry->name = name;
395 __entry->cbc_ctrl = cbc_ctrl;
396 __entry->min_value = min_value;
397 __entry->max_value = max_value;
398 ),
399
400 TP_printk("name=%s, cbc_ctrl=%d, min_value=%u, max_value=%u",
401 __entry->name, __entry->cbc_ctrl, __entry->min_value,
402 __entry->max_value)
403);
404
405TRACE_EVENT(gk20a_ltc_cbc_ctrl_done,
406 TP_PROTO(const char *name),
407 TP_ARGS(name),
408 TP_STRUCT__entry(
409 __field(const char *, name)
410 ),
411 TP_fast_assign(
412 __entry->name = name;
413 ),
414 TP_printk("name=%s ", __entry->name)
415
416);
417
371DECLARE_EVENT_CLASS(gk20a_cde, 418DECLARE_EVENT_CLASS(gk20a_cde,
372 TP_PROTO(const void *ctx), 419 TP_PROTO(const void *ctx),
373 TP_ARGS(ctx), 420 TP_ARGS(ctx),