97 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/* Copyright 2022 NXP3 */4 5#undef TRACE_SYSTEM6#define TRACE_SYSTEM mv88e6xxx7 8#if !defined(_MV88E6XXX_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)9#define _MV88E6XXX_TRACE_H10 11#include <linux/device.h>12#include <linux/if_ether.h>13#include <linux/tracepoint.h>14 15DECLARE_EVENT_CLASS(mv88e6xxx_atu_violation,16 17 TP_PROTO(const struct device *dev, int spid, u16 portvec,18 const unsigned char *addr, u16 fid),19 20 TP_ARGS(dev, spid, portvec, addr, fid),21 22 TP_STRUCT__entry(23 __string(name, dev_name(dev))24 __field(int, spid)25 __field(u16, portvec)26 __array(unsigned char, addr, ETH_ALEN)27 __field(u16, fid)28 ),29 30 TP_fast_assign(31 __assign_str(name);32 __entry->spid = spid;33 __entry->portvec = portvec;34 memcpy(__entry->addr, addr, ETH_ALEN);35 __entry->fid = fid;36 ),37 38 TP_printk("dev %s spid %d portvec 0x%x addr %pM fid %u",39 __get_str(name), __entry->spid, __entry->portvec,40 __entry->addr, __entry->fid)41);42 43DEFINE_EVENT(mv88e6xxx_atu_violation, mv88e6xxx_atu_member_violation,44 TP_PROTO(const struct device *dev, int spid, u16 portvec,45 const unsigned char *addr, u16 fid),46 TP_ARGS(dev, spid, portvec, addr, fid));47 48DEFINE_EVENT(mv88e6xxx_atu_violation, mv88e6xxx_atu_miss_violation,49 TP_PROTO(const struct device *dev, int spid, u16 portvec,50 const unsigned char *addr, u16 fid),51 TP_ARGS(dev, spid, portvec, addr, fid));52 53DEFINE_EVENT(mv88e6xxx_atu_violation, mv88e6xxx_atu_full_violation,54 TP_PROTO(const struct device *dev, int spid, u16 portvec,55 const unsigned char *addr, u16 fid),56 TP_ARGS(dev, spid, portvec, addr, fid));57 58DECLARE_EVENT_CLASS(mv88e6xxx_vtu_violation,59 60 TP_PROTO(const struct device *dev, int spid, u16 vid),61 62 TP_ARGS(dev, spid, vid),63 64 TP_STRUCT__entry(65 __string(name, dev_name(dev))66 __field(int, spid)67 __field(u16, vid)68 ),69 70 TP_fast_assign(71 __assign_str(name);72 __entry->spid = spid;73 __entry->vid = vid;74 ),75 76 TP_printk("dev %s spid %d vid %u",77 __get_str(name), __entry->spid, __entry->vid)78);79 80DEFINE_EVENT(mv88e6xxx_vtu_violation, mv88e6xxx_vtu_member_violation,81 TP_PROTO(const struct device *dev, int spid, u16 vid),82 TP_ARGS(dev, spid, vid));83 84DEFINE_EVENT(mv88e6xxx_vtu_violation, mv88e6xxx_vtu_miss_violation,85 TP_PROTO(const struct device *dev, int spid, u16 vid),86 TP_ARGS(dev, spid, vid));87 88#endif /* _MV88E6XXX_TRACE_H */89 90/* We don't want to use include/trace/events */91#undef TRACE_INCLUDE_PATH92#define TRACE_INCLUDE_PATH .93#undef TRACE_INCLUDE_FILE94#define TRACE_INCLUDE_FILE trace95/* This part must be outside protection */96#include <trace/define_trace.h>97