diff options
author | Shin-Yu Wang <shinyuw@google.com> | 2024-04-05 01:56:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-04-05 01:56:03 +0000 |
commit | 7609c6712c3a3afc5f2f6b3e4dfe308ee6517f74 (patch) | |
tree | 4167f1c7a921d82da2f46db8ca6644d9780b964a | |
parent | 06e06f27960359725c994daba1229401a3cb6d23 (diff) | |
parent | 52cff3ddd1234a873ff646fbbb5e4d3f65e16e1b (diff) | |
download | perfetto-7609c6712c3a3afc5f2f6b3e4dfe308ee6517f74.tar.gz |
Merge "Add dpu dsi_tx, dsi_rx, dsi_cmd_fifo_status ftrace event" into main
8 files changed, 120 insertions, 0 deletions
diff --git a/protos/perfetto/trace/ftrace/dpu.proto b/protos/perfetto/trace/ftrace/dpu.proto index 05d582cf4..5ebd42964 100644 --- a/protos/perfetto/trace/ftrace/dpu.proto +++ b/protos/perfetto/trace/ftrace/dpu.proto @@ -13,3 +13,17 @@ message DpuTracingMarkWriteFtraceEvent { optional uint32 type = 5; optional int32 value = 6; } +message DpuDsiCmdFifoStatusFtraceEvent { + optional uint32 header = 1; + optional uint32 payload = 2; +} +message DpuDsiRxFtraceEvent { + optional uint32 cmd = 1; + optional uint32 rx_buf = 2; +} +message DpuDsiTxFtraceEvent { + optional uint32 type = 1; + optional uint32 tx_buf = 2; + optional uint32 last = 3; + optional uint32 delay_ms = 4; +} diff --git a/protos/perfetto/trace/ftrace/ftrace_event.proto b/protos/perfetto/trace/ftrace/ftrace_event.proto index bda679167..e0b1eeba6 100644 --- a/protos/perfetto/trace/ftrace/ftrace_event.proto +++ b/protos/perfetto/trace/ftrace/ftrace_event.proto @@ -608,5 +608,8 @@ message FtraceEvent { RpmStatusFtraceEvent rpm_status = 489; PanelWriteGenericFtraceEvent panel_write_generic = 490; SchedMigrateTaskFtraceEvent sched_migrate_task = 491; + DpuDsiCmdFifoStatusFtraceEvent dpu_dsi_cmd_fifo_status = 492; + DpuDsiRxFtraceEvent dpu_dsi_rx = 493; + DpuDsiTxFtraceEvent dpu_dsi_tx = 494; } } diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto index 74e49b637..d5cf2d80e 100644 --- a/protos/perfetto/trace/perfetto_trace.proto +++ b/protos/perfetto/trace/perfetto_trace.proto @@ -7259,6 +7259,20 @@ message DpuTracingMarkWriteFtraceEvent { optional uint32 type = 5; optional int32 value = 6; } +message DpuDsiCmdFifoStatusFtraceEvent { + optional uint32 header = 1; + optional uint32 payload = 2; +} +message DpuDsiRxFtraceEvent { + optional uint32 cmd = 1; + optional uint32 rx_buf = 2; +} +message DpuDsiTxFtraceEvent { + optional uint32 type = 1; + optional uint32 tx_buf = 2; + optional uint32 last = 3; + optional uint32 delay_ms = 4; +} // End of protos/perfetto/trace/ftrace/dpu.proto @@ -10607,6 +10621,9 @@ message FtraceEvent { RpmStatusFtraceEvent rpm_status = 489; PanelWriteGenericFtraceEvent panel_write_generic = 490; SchedMigrateTaskFtraceEvent sched_migrate_task = 491; + DpuDsiCmdFifoStatusFtraceEvent dpu_dsi_cmd_fifo_status = 492; + DpuDsiRxFtraceEvent dpu_dsi_rx = 493; + DpuDsiTxFtraceEvent dpu_dsi_tx = 494; } } diff --git a/src/tools/ftrace_proto_gen/event_list b/src/tools/ftrace_proto_gen/event_list index 755a36b74..c4b480780 100644 --- a/src/tools/ftrace_proto_gen/event_list +++ b/src/tools/ftrace_proto_gen/event_list @@ -486,3 +486,6 @@ power/gpu_work_period rpm/rpm_status panel/panel_write_generic sched/sched_migrate_task +dpu/dsi_cmd_fifo_status +dpu/dsi_rx +dpu/dsi_tx
\ No newline at end of file diff --git a/src/traced/probes/ftrace/event_info.cc b/src/traced/probes/ftrace/event_info.cc index 23ce3ea51..3778987a5 100644 --- a/src/traced/probes/ftrace/event_info.cc +++ b/src/traced/probes/ftrace/event_info.cc @@ -1516,6 +1516,51 @@ std::vector<Event> GetStaticEventInfo() { kUnsetFtraceId, 348, kUnsetSize}, + {"dsi_cmd_fifo_status", + "dpu", + { + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "header", 1, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "payload", 2, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + }, + kUnsetFtraceId, + 492, + kUnsetSize}, + {"dsi_rx", + "dpu", + { + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "cmd", 1, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "rx_buf", 2, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + }, + kUnsetFtraceId, + 493, + kUnsetSize}, + {"dsi_tx", + "dpu", + { + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "type", 1, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "tx_buf", 2, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "last", 3, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType, + "delay_ms", 4, ProtoSchemaType::kUint32, + TranslationStrategy::kInvalidTranslationStrategy}, + }, + kUnsetFtraceId, + 494, + kUnsetSize}, {"drm_vblank_event", "drm", { diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_cmd_fifo_status/format b/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_cmd_fifo_status/format new file mode 100644 index 000000000..d5612277c --- /dev/null +++ b/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_cmd_fifo_status/format @@ -0,0 +1,12 @@ +name: dsi_cmd_fifo_status +ID: 1114 +format: + field:unsigned short common_type; offset:0; size:2; signed:0; + field:unsigned char common_flags; offset:2; size:1; signed:0; + field:unsigned char common_preempt_count; offset:3; size:1; signed:0; + field:int common_pid; offset:4; size:4; signed:1; + + field:u8 header; offset:8; size:1; signed:0; + field:u16 payload; offset:10; size:2; signed:0; + +print fmt: "header=%d payload=%d", REC->header, REC->payload diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_rx/format b/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_rx/format new file mode 100644 index 000000000..77975aaf5 --- /dev/null +++ b/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_rx/format @@ -0,0 +1,12 @@ +name: dsi_rx +ID: 1113 +format: + field:unsigned short common_type; offset:0; size:2; signed:0; + field:unsigned char common_flags; offset:2; size:1; signed:0; + field:unsigned char common_preempt_count; offset:3; size:1; signed:0; + field:int common_pid; offset:4; size:4; signed:1; + + field:u8 cmd; offset:8; size:1; signed:0; + field:__data_loc u8[] rx_buf; offset:12; size:4; signed:0; + +print fmt: "cmd=0x%02x length=%u rx=[%s]", REC->cmd, __get_dynamic_array_len(rx_buf), __print_hex(__get_dynamic_array(rx_buf), __get_dynamic_array_len(rx_buf)) diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_tx/format b/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_tx/format new file mode 100644 index 000000000..f3de9ec0f --- /dev/null +++ b/src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_tx/format @@ -0,0 +1,14 @@ +name: dsi_tx +ID: 1112 +format: + field:unsigned short common_type; offset:0; size:2; signed:0; + field:unsigned char common_flags; offset:2; size:1; signed:0; + field:unsigned char common_preempt_count; offset:3; size:1; signed:0; + field:int common_pid; offset:4; size:4; signed:1; + + field:u8 type; offset:8; size:1; signed:0; + field:__data_loc u8[] tx_buf; offset:12; size:4; signed:0; + field:bool last; offset:16; size:1; signed:0; + field:u32 delay_ms; offset:20; size:4; signed:0; + +print fmt: "type=0x%02x length=%u last=%d delay=%d tx=[%s]", REC->type, __get_dynamic_array_len(tx_buf), REC->last, REC->delay_ms, __print_hex(__get_dynamic_array(tx_buf), __get_dynamic_array_len(tx_buf)) |