diff options
| author | Vincent Chung <vincentc@nvidia.com> | 2018-09-17 21:37:44 -0400 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2019-02-01 02:27:01 -0500 |
| commit | 89c28ed8b7cd24ad9470bce81a6f91d2820b8969 (patch) | |
| tree | 162a3b38a7663303a6923e1aee67ad6a8ac04099 /include/trace | |
| parent | 03ad22b1a03c938461d84df5359e400ef32a7629 (diff) | |
tegra: camera: rtcpu: add nvcsi trace support
Add support for NVCSI global and correctable/uncorrectable interrupt
status traces, originating from RCE.
Bug 2315922
Change-Id: I2008f09300bf2d653ca7a6fd42925dd2f9069021
Signed-off-by: Vincent Chung <vincentc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1829199
(cherry picked from commit 5e0ff02048ac4bc937d67fb9fdb4ff9c084931f5)
Reviewed-on: https://git-master.nvidia.com/r/2003156
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Ian Kaszubski <ikaszubski@nvidia.com>
Reviewed-by: Ruicheng Dai <rdai@nvidia.com>
Reviewed-by: Pekka Pessi <ppessi@nvidia.com>
Reviewed-by: Frank Chen <frankc@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/tegra_rtcpu.h | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/include/trace/events/tegra_rtcpu.h b/include/trace/events/tegra_rtcpu.h index 6eff20782..7329eb8ce 100644 --- a/include/trace/events/tegra_rtcpu.h +++ b/include/trace/events/tegra_rtcpu.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2016-2017 NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2016-2019 NVIDIA CORPORATION. All rights reserved. |
| 3 | * | 3 | * |
| 4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
| 5 | * under the terms and conditions of the GNU General Public License, | 5 | * under the terms and conditions of the GNU General Public License, |
| @@ -195,8 +195,8 @@ TRACE_EVENT(rtcpu_dbg_set_loglevel, | |||
| 195 | * VI Notify events | 195 | * VI Notify events |
| 196 | */ | 196 | */ |
| 197 | 197 | ||
| 198 | extern char *g_trace_vinotify_tag_strs[]; | 198 | extern const char * const g_trace_vinotify_tag_strs[]; |
| 199 | extern unsigned int g_trace_vinotify_tag_str_count; | 199 | extern const unsigned int g_trace_vinotify_tag_str_count; |
| 200 | 200 | ||
| 201 | TRACE_EVENT(rtcpu_vinotify_handle_msg, | 201 | TRACE_EVENT(rtcpu_vinotify_handle_msg, |
| 202 | TP_PROTO(u64 tstamp, u8 tag, u32 ch_frame, u32 vi_tstamp, u32 data), | 202 | TP_PROTO(u64 tstamp, u8 tag, u32 ch_frame, u32 vi_tstamp, u32 data), |
| @@ -282,6 +282,50 @@ TRACE_EVENT(rtcpu_vinotify_error, | |||
| 282 | __entry->vi_tstamp, __entry->data) | 282 | __entry->vi_tstamp, __entry->data) |
| 283 | ); | 283 | ); |
| 284 | 284 | ||
| 285 | /* | ||
| 286 | * NVCSI events | ||
| 287 | */ | ||
| 288 | |||
| 289 | extern const char * const g_trace_nvcsi_intr_class_strs[]; | ||
| 290 | extern const unsigned int g_trace_nvcsi_intr_class_str_count; | ||
| 291 | |||
| 292 | extern const char * const g_trace_nvcsi_intr_type_strs[]; | ||
| 293 | extern const unsigned int g_trace_nvcsi_intr_type_str_count; | ||
| 294 | |||
| 295 | TRACE_EVENT(rtcpu_nvcsi_intr, | ||
| 296 | TP_PROTO(u64 tstamp, u8 intr_class, u8 intr_type, u32 index, | ||
| 297 | u32 status), | ||
| 298 | TP_ARGS(tstamp, intr_class, intr_type, index, status), | ||
| 299 | TP_STRUCT__entry( | ||
| 300 | __field(u64, tstamp) | ||
| 301 | __field(u8, intr_class) | ||
| 302 | __field(u8, intr_type) | ||
| 303 | __field(u32, index) | ||
| 304 | __field(u32, status) | ||
| 305 | ), | ||
| 306 | TP_fast_assign( | ||
| 307 | __entry->tstamp = tstamp; | ||
| 308 | __entry->intr_class = intr_class; | ||
| 309 | __entry->intr_type = intr_type; | ||
| 310 | __entry->index = index; | ||
| 311 | __entry->status = status; | ||
| 312 | ), | ||
| 313 | TP_printk( | ||
| 314 | "tstamp:%llu class:%s type:%s phy:%u cil:%u st:%u vc:%u status:0x%08x", | ||
| 315 | __entry->tstamp, | ||
| 316 | (__entry->intr_class < g_trace_nvcsi_intr_class_str_count) ? | ||
| 317 | g_trace_nvcsi_intr_class_strs[__entry->intr_class] : | ||
| 318 | __print_hex(&__entry->intr_class, 1), | ||
| 319 | (__entry->intr_type < g_trace_nvcsi_intr_type_str_count) ? | ||
| 320 | g_trace_nvcsi_intr_type_strs[__entry->intr_type] : | ||
| 321 | __print_hex(&__entry->intr_type, 1), | ||
| 322 | (__entry->index >> 24) & 0xff, | ||
| 323 | (__entry->index >> 16) & 0xff, | ||
| 324 | (__entry->index >> 8) & 0xff, | ||
| 325 | __entry->index & 0xff, | ||
| 326 | __entry->status) | ||
| 327 | ); | ||
| 328 | |||
| 285 | #endif /* _TRACE_TEGRA_RTCPU_H */ | 329 | #endif /* _TRACE_TEGRA_RTCPU_H */ |
| 286 | 330 | ||
| 287 | #include <trace/define_trace.h> | 331 | #include <trace/define_trace.h> |
