#include <linux/device.h>
#include <linux/netdevice.h>
#include "en.h"
#include "en/port.h"
#include "en/port_buffer.h"
#define MLX5E_MAX_BW_ALLOC …
#define MLX5E_100MB …
#define MLX5E_1GB …
#define MLX5E_CEE_STATE_UP …
#define MLX5E_CEE_STATE_DOWN …
#define MLX5E_MAX_CABLE_LENGTH …
enum { … };
enum { … };
#define MLX5_DSCP_SUPPORTED(mdev) …
static int mlx5e_set_trust_state(struct mlx5e_priv *priv, u8 trust_state);
static int mlx5e_set_dscp2prio(struct mlx5e_priv *priv, u8 dscp, u8 prio);
static int mlx5e_dcbnl_set_dcbx_mode(struct mlx5e_priv *priv,
enum mlx5_dcbx_oper_mode mode)
{ … }
static int mlx5e_dcbnl_switch_to_host_mode(struct mlx5e_priv *priv)
{ … }
static int mlx5e_dcbnl_ieee_getets(struct net_device *netdev,
struct ieee_ets *ets)
{ … }
static void mlx5e_build_tc_group(struct ieee_ets *ets, u8 *tc_group, int max_tc)
{ … }
static void mlx5e_build_tc_tx_bw(struct ieee_ets *ets, u8 *tc_tx_bw,
u8 *tc_group, int max_tc)
{ … }
static int mlx5e_dcbnl_ieee_setets_core(struct mlx5e_priv *priv, struct ieee_ets *ets)
{ … }
static int mlx5e_dbcnl_validate_ets(struct net_device *netdev,
struct ieee_ets *ets,
bool zero_sum_allowed)
{ … }
static int mlx5e_dcbnl_ieee_setets(struct net_device *netdev,
struct ieee_ets *ets)
{ … }
static int mlx5e_dcbnl_ieee_getpfc(struct net_device *dev,
struct ieee_pfc *pfc)
{ … }
static int mlx5e_dcbnl_ieee_setpfc(struct net_device *dev,
struct ieee_pfc *pfc)
{ … }
static u8 mlx5e_dcbnl_getdcbx(struct net_device *dev)
{ … }
static u8 mlx5e_dcbnl_setdcbx(struct net_device *dev, u8 mode)
{ … }
static int mlx5e_dcbnl_ieee_setapp(struct net_device *dev, struct dcb_app *app)
{ … }
static int mlx5e_dcbnl_ieee_delapp(struct net_device *dev, struct dcb_app *app)
{ … }
static int mlx5e_dcbnl_ieee_getmaxrate(struct net_device *netdev,
struct ieee_maxrate *maxrate)
{ … }
static int mlx5e_dcbnl_ieee_setmaxrate(struct net_device *netdev,
struct ieee_maxrate *maxrate)
{ … }
static u8 mlx5e_dcbnl_setall(struct net_device *netdev)
{ … }
static u8 mlx5e_dcbnl_getstate(struct net_device *netdev)
{ … }
static void mlx5e_dcbnl_getpermhwaddr(struct net_device *netdev,
u8 *perm_addr)
{ … }
static void mlx5e_dcbnl_setpgtccfgtx(struct net_device *netdev,
int priority, u8 prio_type,
u8 pgid, u8 bw_pct, u8 up_map)
{ … }
static void mlx5e_dcbnl_setpgbwgcfgtx(struct net_device *netdev,
int pgid, u8 bw_pct)
{ … }
static void mlx5e_dcbnl_getpgtccfgtx(struct net_device *netdev,
int priority, u8 *prio_type,
u8 *pgid, u8 *bw_pct, u8 *up_map)
{ … }
static void mlx5e_dcbnl_getpgbwgcfgtx(struct net_device *netdev,
int pgid, u8 *bw_pct)
{ … }
static void mlx5e_dcbnl_setpfccfg(struct net_device *netdev,
int priority, u8 setting)
{ … }
static int
mlx5e_dcbnl_get_priority_pfc(struct net_device *netdev,
int priority, u8 *setting)
{ … }
static void mlx5e_dcbnl_getpfccfg(struct net_device *netdev,
int priority, u8 *setting)
{ … }
static u8 mlx5e_dcbnl_getcap(struct net_device *netdev,
int capid, u8 *cap)
{ … }
static int mlx5e_dcbnl_getnumtcs(struct net_device *netdev,
int tcs_id, u8 *num)
{ … }
static u8 mlx5e_dcbnl_getpfcstate(struct net_device *netdev)
{ … }
static void mlx5e_dcbnl_setpfcstate(struct net_device *netdev, u8 state)
{ … }
static int mlx5e_dcbnl_getbuffer(struct net_device *dev,
struct dcbnl_buffer *dcb_buffer)
{ … }
static int mlx5e_dcbnl_setbuffer(struct net_device *dev,
struct dcbnl_buffer *dcb_buffer)
{ … }
static const struct dcbnl_rtnl_ops mlx5e_dcbnl_ops = …;
void mlx5e_dcbnl_build_netdev(struct net_device *netdev)
{ … }
static void mlx5e_dcbnl_query_dcbx_mode(struct mlx5e_priv *priv,
enum mlx5_dcbx_oper_mode *mode)
{ … }
static void mlx5e_ets_init(struct mlx5e_priv *priv)
{ … }
enum { … };
static void mlx5e_dcbnl_dscp_app(struct mlx5e_priv *priv, int action)
{ … }
void mlx5e_dcbnl_init_app(struct mlx5e_priv *priv)
{ … }
void mlx5e_dcbnl_delete_app(struct mlx5e_priv *priv)
{ … }
static void mlx5e_params_calc_trust_tx_min_inline_mode(struct mlx5_core_dev *mdev,
struct mlx5e_params *params,
u8 trust_state)
{ … }
static int mlx5e_update_trust_state_hw(struct mlx5e_priv *priv, void *context)
{ … }
static int mlx5e_set_trust_state(struct mlx5e_priv *priv, u8 trust_state)
{ … }
static int mlx5e_set_dscp2prio(struct mlx5e_priv *priv, u8 dscp, u8 prio)
{ … }
static int mlx5e_trust_initialize(struct mlx5e_priv *priv)
{ … }
#define MLX5E_BUFFER_CELL_SHIFT …
static u16 mlx5e_query_port_buffers_cell_size(struct mlx5e_priv *priv)
{ … }
void mlx5e_dcbnl_initialize(struct mlx5e_priv *priv)
{ … }