aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShin-Yu Wang <shinyuw@google.com>2024-04-05 01:56:03 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-04-05 01:56:03 +0000
commit7609c6712c3a3afc5f2f6b3e4dfe308ee6517f74 (patch)
tree4167f1c7a921d82da2f46db8ca6644d9780b964a
parent06e06f27960359725c994daba1229401a3cb6d23 (diff)
parent52cff3ddd1234a873ff646fbbb5e4d3f65e16e1b (diff)
downloadperfetto-7609c6712c3a3afc5f2f6b3e4dfe308ee6517f74.tar.gz
Merge "Add dpu dsi_tx, dsi_rx, dsi_cmd_fifo_status ftrace event" into main
-rw-r--r--protos/perfetto/trace/ftrace/dpu.proto14
-rw-r--r--protos/perfetto/trace/ftrace/ftrace_event.proto3
-rw-r--r--protos/perfetto/trace/perfetto_trace.proto17
-rw-r--r--src/tools/ftrace_proto_gen/event_list3
-rw-r--r--src/traced/probes/ftrace/event_info.cc45
-rw-r--r--src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_cmd_fifo_status/format12
-rw-r--r--src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_rx/format12
-rw-r--r--src/traced/probes/ftrace/test/data/synthetic/events/dpu/dsi_tx/format14
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))