0001
0002
0003
0004 #ifndef __MLX5E_TRAP_H__
0005 #define __MLX5E_TRAP_H__
0006
0007 #include "../en.h"
0008 #include "../devlink.h"
0009
0010 struct mlx5e_trap {
0011
0012 struct mlx5e_rq rq;
0013 struct mlx5e_tir tir;
0014 struct napi_struct napi;
0015 struct device *pdev;
0016 struct net_device *netdev;
0017 __be32 mkey_be;
0018
0019
0020 struct mlx5e_ch_stats *stats;
0021
0022
0023 struct mlx5e_priv *priv;
0024 struct mlx5_core_dev *mdev;
0025 struct hwtstamp_config *tstamp;
0026 DECLARE_BITMAP(state, MLX5E_CHANNEL_NUM_STATES);
0027
0028 struct mlx5e_params params;
0029 struct mlx5e_rq_param rq_param;
0030 };
0031
0032 void mlx5e_close_trap(struct mlx5e_trap *trap);
0033 void mlx5e_deactivate_trap(struct mlx5e_priv *priv);
0034 int mlx5e_handle_trap_event(struct mlx5e_priv *priv, struct mlx5_trap_ctx *trap_ctx);
0035 int mlx5e_apply_traps(struct mlx5e_priv *priv, bool enable);
0036
0037 #endif