Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Trace events for the ChromeOS Sensorhub kernel module
0004  *
0005  * Copyright 2021 Google LLC.
0006  */
0007 
0008 #undef TRACE_SYSTEM
0009 #define TRACE_SYSTEM cros_ec
0010 
0011 #if !defined(_CROS_EC_SENSORHUB_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
0012 #define _CROS_EC_SENSORHUB_TRACE_H_
0013 
0014 #include <linux/types.h>
0015 #include <linux/platform_data/cros_ec_sensorhub.h>
0016 
0017 #include <linux/tracepoint.h>
0018 
0019 TRACE_EVENT(cros_ec_sensorhub_timestamp,
0020         TP_PROTO(u32 ec_sample_timestamp, u32 ec_fifo_timestamp, s64 fifo_timestamp,
0021              s64 current_timestamp, s64 current_time),
0022     TP_ARGS(ec_sample_timestamp, ec_fifo_timestamp, fifo_timestamp, current_timestamp,
0023         current_time),
0024     TP_STRUCT__entry(
0025         __field(u32, ec_sample_timestamp)
0026         __field(u32, ec_fifo_timestamp)
0027         __field(s64, fifo_timestamp)
0028         __field(s64, current_timestamp)
0029         __field(s64, current_time)
0030         __field(s64, delta)
0031     ),
0032     TP_fast_assign(
0033         __entry->ec_sample_timestamp = ec_sample_timestamp;
0034         __entry->ec_fifo_timestamp = ec_fifo_timestamp;
0035         __entry->fifo_timestamp = fifo_timestamp;
0036         __entry->current_timestamp = current_timestamp;
0037         __entry->current_time = current_time;
0038         __entry->delta = current_timestamp - current_time;
0039     ),
0040     TP_printk("ec_ts: %9u, ec_fifo_ts: %9u, fifo_ts: %12lld, curr_ts: %12lld, curr_time: %12lld, delta %12lld",
0041           __entry->ec_sample_timestamp,
0042         __entry->ec_fifo_timestamp,
0043         __entry->fifo_timestamp,
0044         __entry->current_timestamp,
0045         __entry->current_time,
0046         __entry->delta
0047     )
0048 );
0049 
0050 TRACE_EVENT(cros_ec_sensorhub_data,
0051         TP_PROTO(u32 ec_sensor_num, u32 ec_fifo_timestamp, s64 fifo_timestamp,
0052              s64 current_timestamp, s64 current_time),
0053     TP_ARGS(ec_sensor_num, ec_fifo_timestamp, fifo_timestamp, current_timestamp, current_time),
0054     TP_STRUCT__entry(
0055         __field(u32, ec_sensor_num)
0056         __field(u32, ec_fifo_timestamp)
0057         __field(s64, fifo_timestamp)
0058         __field(s64, current_timestamp)
0059         __field(s64, current_time)
0060         __field(s64, delta)
0061     ),
0062     TP_fast_assign(
0063         __entry->ec_sensor_num = ec_sensor_num;
0064         __entry->ec_fifo_timestamp = ec_fifo_timestamp;
0065         __entry->fifo_timestamp = fifo_timestamp;
0066         __entry->current_timestamp = current_timestamp;
0067         __entry->current_time = current_time;
0068         __entry->delta = current_timestamp - current_time;
0069     ),
0070     TP_printk("ec_num: %4u, ec_fifo_ts: %9u, fifo_ts: %12lld, curr_ts: %12lld, curr_time: %12lld, delta %12lld",
0071           __entry->ec_sensor_num,
0072         __entry->ec_fifo_timestamp,
0073         __entry->fifo_timestamp,
0074         __entry->current_timestamp,
0075         __entry->current_time,
0076         __entry->delta
0077     )
0078 );
0079 
0080 TRACE_EVENT(cros_ec_sensorhub_filter,
0081         TP_PROTO(struct cros_ec_sensors_ts_filter_state *state, s64 dx, s64 dy),
0082     TP_ARGS(state, dx, dy),
0083     TP_STRUCT__entry(
0084         __field(s64, dx)
0085         __field(s64, dy)
0086         __field(s64, median_m)
0087         __field(s64, median_error)
0088         __field(s64, history_len)
0089         __field(s64, x)
0090         __field(s64, y)
0091     ),
0092     TP_fast_assign(
0093         __entry->dx = dx;
0094         __entry->dy = dy;
0095         __entry->median_m = state->median_m;
0096         __entry->median_error = state->median_error;
0097         __entry->history_len = state->history_len;
0098         __entry->x = state->x_offset;
0099         __entry->y = state->y_offset;
0100     ),
0101     TP_printk("dx: %12lld. dy: %12lld median_m: %12lld median_error: %12lld len: %lld x: %12lld y: %12lld",
0102           __entry->dx,
0103         __entry->dy,
0104         __entry->median_m,
0105         __entry->median_error,
0106         __entry->history_len,
0107         __entry->x,
0108         __entry->y
0109     )
0110 );
0111 
0112 
0113 #endif /* _CROS_EC_SENSORHUB_TRACE_H_ */
0114 
0115 /* this part must be outside header guard */
0116 
0117 #undef TRACE_INCLUDE_PATH
0118 #define TRACE_INCLUDE_PATH .
0119 
0120 #undef TRACE_INCLUDE_FILE
0121 #define TRACE_INCLUDE_FILE cros_ec_sensorhub_trace
0122 
0123 #include <trace/define_trace.h>