^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (c) 2015-2016, Intel Corporation. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Intel Management Engine Interface (Intel MEI) Linux driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #if !defined(_MEI_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define _MEI_TRACE_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <linux/stringify.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/device.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define TRACE_SYSTEM mei
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) TRACE_EVENT(mei_reg_read,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) TP_ARGS(dev, reg, offs, val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) __string(dev, dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) __field(const char *, reg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) __field(u32, offs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) __field(u32, val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) __assign_str(dev, dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) __entry->reg = reg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) __entry->offs = offs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) __entry->val = val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) TP_printk("[%s] read %s:[%#x] = %#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) __get_str(dev), __entry->reg, __entry->offs, __entry->val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) TRACE_EVENT(mei_reg_write,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) TP_ARGS(dev, reg, offs, val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) __string(dev, dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) __field(const char *, reg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) __field(u32, offs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) __field(u32, val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) __assign_str(dev, dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) __entry->reg = reg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) __entry->offs = offs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) __entry->val = val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) TP_printk("[%s] write %s[%#x] = %#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) __get_str(dev), __entry->reg, __entry->offs, __entry->val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) TRACE_EVENT(mei_pci_cfg_read,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) TP_ARGS(dev, reg, offs, val),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) __string(dev, dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) __field(const char *, reg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) __field(u32, offs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) __field(u32, val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) __assign_str(dev, dev_name(dev))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) __entry->reg = reg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) __entry->offs = offs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) __entry->val = val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) TP_printk("[%s] pci cfg read %s:[%#x] = %#x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) __get_str(dev), __entry->reg, __entry->offs, __entry->val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #endif /* _MEI_TRACE_H_ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #undef TRACE_INCLUDE_PATH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) #undef TRACE_INCLUDE_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) #define TRACE_INCLUDE_PATH .
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) #define TRACE_INCLUDE_FILE mei-trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) #include <trace/define_trace.h>