cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

trace.h (2318B)


      1/* SPDX-License-Identifier: ISC */
      2/*
      3 * Copyright (C) 2016 Felix Fietkau <nbd@nbd.name>
      4 */
      5
      6#if !defined(__MT76_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
      7#define __MT76_TRACE_H
      8
      9#include <linux/tracepoint.h>
     10#include "mt76.h"
     11
     12#undef TRACE_SYSTEM
     13#define TRACE_SYSTEM mt76
     14
     15#define MAXNAME		32
     16#define DEV_ENTRY	__array(char, wiphy_name, 32)
     17#define DEVICE_ASSIGN	strlcpy(__entry->wiphy_name,	\
     18				wiphy_name(dev->hw->wiphy), MAXNAME)
     19#define DEV_PR_FMT	"%s"
     20#define DEV_PR_ARG	__entry->wiphy_name
     21
     22#define REG_ENTRY	__field(u32, reg) __field(u32, val)
     23#define REG_ASSIGN	__entry->reg = reg; __entry->val = val
     24#define REG_PR_FMT	" %04x=%08x"
     25#define REG_PR_ARG	__entry->reg, __entry->val
     26
     27#define TXID_ENTRY	__field(u8, wcid) __field(u8, pktid)
     28#define TXID_ASSIGN	__entry->wcid = wcid; __entry->pktid = pktid
     29#define TXID_PR_FMT	" [%d:%d]"
     30#define TXID_PR_ARG	__entry->wcid, __entry->pktid
     31
     32DECLARE_EVENT_CLASS(dev_reg_evt,
     33	TP_PROTO(struct mt76_dev *dev, u32 reg, u32 val),
     34	TP_ARGS(dev, reg, val),
     35	TP_STRUCT__entry(
     36		DEV_ENTRY
     37		REG_ENTRY
     38	),
     39	TP_fast_assign(
     40		DEVICE_ASSIGN;
     41		REG_ASSIGN;
     42	),
     43	TP_printk(
     44		DEV_PR_FMT REG_PR_FMT,
     45		DEV_PR_ARG, REG_PR_ARG
     46	)
     47);
     48
     49DEFINE_EVENT(dev_reg_evt, reg_rr,
     50	TP_PROTO(struct mt76_dev *dev, u32 reg, u32 val),
     51	TP_ARGS(dev, reg, val)
     52);
     53
     54DEFINE_EVENT(dev_reg_evt, reg_wr,
     55	TP_PROTO(struct mt76_dev *dev, u32 reg, u32 val),
     56	TP_ARGS(dev, reg, val)
     57);
     58
     59TRACE_EVENT(dev_irq,
     60	TP_PROTO(struct mt76_dev *dev, u32 val, u32 mask),
     61
     62	TP_ARGS(dev, val, mask),
     63
     64	TP_STRUCT__entry(
     65		DEV_ENTRY
     66		__field(u32, val)
     67		__field(u32, mask)
     68	),
     69
     70	TP_fast_assign(
     71		DEVICE_ASSIGN;
     72		__entry->val = val;
     73		__entry->mask = mask;
     74	),
     75
     76	TP_printk(
     77		DEV_PR_FMT " %08x & %08x",
     78		DEV_PR_ARG, __entry->val, __entry->mask
     79	)
     80);
     81
     82DECLARE_EVENT_CLASS(dev_txid_evt,
     83	TP_PROTO(struct mt76_dev *dev, u8 wcid, u8 pktid),
     84	TP_ARGS(dev, wcid, pktid),
     85	TP_STRUCT__entry(
     86		DEV_ENTRY
     87		TXID_ENTRY
     88	),
     89	TP_fast_assign(
     90		DEVICE_ASSIGN;
     91		TXID_ASSIGN;
     92	),
     93	TP_printk(
     94		DEV_PR_FMT TXID_PR_FMT,
     95		DEV_PR_ARG, TXID_PR_ARG
     96	)
     97);
     98
     99DEFINE_EVENT(dev_txid_evt, mac_txdone,
    100	TP_PROTO(struct mt76_dev *dev, u8 wcid, u8 pktid),
    101	TP_ARGS(dev, wcid, pktid)
    102);
    103
    104#endif
    105
    106#undef TRACE_INCLUDE_PATH
    107#define TRACE_INCLUDE_PATH .
    108#undef TRACE_INCLUDE_FILE
    109#define TRACE_INCLUDE_FILE trace
    110
    111#include <trace/define_trace.h>