diff options
| author | Arun Kannan <akannan@nvidia.com> | 2017-02-06 20:10:24 -0500 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-01 23:15:57 -0400 |
| commit | 78597767e8d97985822b4c37ee1ba4103ba151b5 (patch) | |
| tree | 6693d290fbd52eea67251439a58664439d06fe3a /include/trace | |
| parent | 5fbf460eef1fecd419509bcaa5a48f39aa3ea3e0 (diff) | |
video: tegra: Add scanline tracepoint
Add vblank and vpulse3 scanline tracepoint.
Accurate timestamps of these events are embedded in the
ftrace prints and they are extrapolations based on
current scanline and timestamp (timebase is cycle counter TSC).
It can be enabled/disabled by writing to this debugfs node:
tracing/events/nvdisp/nvdisp_scanline
The ftrace print includes display controller #, frame # and scanline #
in addition to timestamp in nsec.
The scanline # for VBLANK is specially indicated using value U16_MAX.
Bug 1858948
Change-Id: Ib727bcbeb935f39df0e4b4443c97a9b537cf053c
Signed-off-by: Arun Kannan <akannan@nvidia.com>
Reviewed-on: http://git-master/r/1300684
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/display.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/trace/events/display.h b/include/trace/events/display.h index 9065facd2..7ef3cfb23 100644 --- a/include/trace/events/display.h +++ b/include/trace/events/display.h | |||
| @@ -376,6 +376,26 @@ TRACE_EVENT(display_vblank, | |||
| 376 | __entry->ctrl_num, __entry->vblank_count) | 376 | __entry->ctrl_num, __entry->vblank_count) |
| 377 | ); | 377 | ); |
| 378 | 378 | ||
| 379 | TRACE_EVENT(display_scanline, | ||
| 380 | TP_PROTO(u32 ctrl_num, u16 line_num, u16 frame_num, s64 timestamp), | ||
| 381 | TP_ARGS(ctrl_num, line_num, frame_num, timestamp), | ||
| 382 | TP_STRUCT__entry( | ||
| 383 | __field(u32, ctrl_num) | ||
| 384 | __field(u16, line_num) | ||
| 385 | __field(u16, frame_num) | ||
| 386 | __field(u64, timestamp) | ||
| 387 | ), | ||
| 388 | TP_fast_assign( | ||
| 389 | __entry->ctrl_num = ctrl_num; | ||
| 390 | __entry->line_num = line_num; | ||
| 391 | __entry->frame_num = frame_num; | ||
| 392 | __entry->timestamp = timestamp; | ||
| 393 | ), | ||
| 394 | TP_printk("ctrl_num=%u line_num=%u frame_num=%u timestamp=%lld", | ||
| 395 | __entry->ctrl_num, __entry->line_num, | ||
| 396 | __entry->frame_num, __entry->timestamp) | ||
| 397 | ); | ||
| 398 | |||
| 379 | #endif /* _TRACE_DISPLAY_H */ | 399 | #endif /* _TRACE_DISPLAY_H */ |
| 380 | 400 | ||
| 381 | /* This part must be outside protection */ | 401 | /* This part must be outside protection */ |
