platform/chrome: cros_ec_trace: Add fields to command traces
In ftrace, add more fields to the cros_ec command event: - Add size of commands to check if they are properly set. - Add offset (in case an EC is cascaded being another EC), to allow proper command output With: echo 1 > events/cros_ec/cros_ec_cmd/enable We now have (on samus) Invalid command for the sensor stack: ectool-6942 [002] .... 3082.783116: cros_ec_request_done: version: 3, offset: 0, command: EC_CMD_MOTION_SENSE_CMD, outsize: 2, insize: 19, ec result: EC_RES_INVALID_PARAM, retval: 0 Powerd accessing PD EC being the main EC: powerd-1272 [002] .... 40.644026: cros_ec_request_done: version: 0, offset: 1, command: EC_CMD_USB_PD_POWER_INFO, outsize: 1, insize: 16, ec result: EC_RES_SUCCESS, retval: 16 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Acked-by: Raul E Rangel <rrangel@chromium.org> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
This commit is contained in:
parent
a772336596
commit
8143182426
|
@ -23,14 +23,22 @@ TRACE_EVENT(cros_ec_request_start,
|
|||
TP_ARGS(cmd),
|
||||
TP_STRUCT__entry(
|
||||
__field(uint32_t, version)
|
||||
__field(uint32_t, offset)
|
||||
__field(uint32_t, command)
|
||||
__field(uint32_t, outsize)
|
||||
__field(uint32_t, insize)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->version = cmd->version;
|
||||
__entry->command = cmd->command;
|
||||
__entry->offset = cmd->command / EC_CMD_PASSTHRU_OFFSET(1);
|
||||
__entry->command = cmd->command % EC_CMD_PASSTHRU_OFFSET(1);
|
||||
__entry->outsize = cmd->outsize;
|
||||
__entry->insize = cmd->insize;
|
||||
),
|
||||
TP_printk("version: %u, command: %s", __entry->version,
|
||||
__print_symbolic(__entry->command, EC_CMDS))
|
||||
TP_printk("version: %u, offset: %d, command: %s, outsize: %u, insize: %u",
|
||||
__entry->version, __entry->offset,
|
||||
__print_symbolic(__entry->command, EC_CMDS),
|
||||
__entry->outsize, __entry->insize)
|
||||
);
|
||||
|
||||
TRACE_EVENT(cros_ec_request_done,
|
||||
|
@ -38,19 +46,26 @@ TRACE_EVENT(cros_ec_request_done,
|
|||
TP_ARGS(cmd, retval),
|
||||
TP_STRUCT__entry(
|
||||
__field(uint32_t, version)
|
||||
__field(uint32_t, offset)
|
||||
__field(uint32_t, command)
|
||||
__field(uint32_t, outsize)
|
||||
__field(uint32_t, insize)
|
||||
__field(uint32_t, result)
|
||||
__field(int, retval)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->version = cmd->version;
|
||||
__entry->command = cmd->command;
|
||||
__entry->offset = cmd->command / EC_CMD_PASSTHRU_OFFSET(1);
|
||||
__entry->command = cmd->command % EC_CMD_PASSTHRU_OFFSET(1);
|
||||
__entry->outsize = cmd->outsize;
|
||||
__entry->insize = cmd->insize;
|
||||
__entry->result = cmd->result;
|
||||
__entry->retval = retval;
|
||||
),
|
||||
TP_printk("version: %u, command: %s, ec result: %s, retval: %d",
|
||||
__entry->version,
|
||||
TP_printk("version: %u, offset: %d, command: %s, outsize: %u, insize: %u, ec result: %s, retval: %u",
|
||||
__entry->version, __entry->offset,
|
||||
__print_symbolic(__entry->command, EC_CMDS),
|
||||
__entry->outsize, __entry->insize,
|
||||
__print_symbolic(__entry->result, EC_RESULT),
|
||||
__entry->retval)
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue