#include <linux/device.h>
#include <linux/netdevice.h>
#include <net/dcbnl.h>
#include "../nfp_app.h"
#include "../nfp_net.h"
#include "../nfp_main.h"
#include "../nfpcore/nfp_cpp.h"
#include "../nfpcore/nfp_nffw.h"
#include "../nfp_net_sriov.h"
#include "main.h"
#define NFP_DCB_TRUST_PCP …
#define NFP_DCB_TRUST_DSCP …
#define NFP_DCB_TRUST_INVALID …
#define NFP_DCB_TSA_VENDOR …
#define NFP_DCB_TSA_STRICT …
#define NFP_DCB_TSA_ETS …
#define NFP_DCB_GBL_ENABLE …
#define NFP_DCB_QOS_ENABLE …
#define NFP_DCB_DISABLE …
#define NFP_DCB_ALL_QOS_ENABLE …
#define NFP_DCB_UPDATE_MSK_SZ …
#define NFP_DCB_TC_RATE_MAX …
#define NFP_DCB_DATA_OFF_DSCP2IDX …
#define NFP_DCB_DATA_OFF_PCP2IDX …
#define NFP_DCB_DATA_OFF_TSA …
#define NFP_DCB_DATA_OFF_IDX_BW_PCT …
#define NFP_DCB_DATA_OFF_RATE …
#define NFP_DCB_DATA_OFF_CAP …
#define NFP_DCB_DATA_OFF_ENABLE …
#define NFP_DCB_DATA_OFF_TRUST …
#define NFP_DCB_MSG_MSK_ENABLE …
#define NFP_DCB_MSG_MSK_TRUST …
#define NFP_DCB_MSG_MSK_TSA …
#define NFP_DCB_MSG_MSK_DSCP …
#define NFP_DCB_MSG_MSK_PCP …
#define NFP_DCB_MSG_MSK_RATE …
#define NFP_DCB_MSG_MSK_PCT …
static struct nfp_dcb *get_dcb_priv(struct nfp_net *nn)
{ … }
static u8 nfp_tsa_ieee2nfp(u8 tsa)
{ … }
static int nfp_nic_dcbnl_ieee_getets(struct net_device *dev,
struct ieee_ets *ets)
{ … }
static bool nfp_refresh_tc2idx(struct nfp_net *nn)
{ … }
static int nfp_fill_maxrate(struct nfp_net *nn, u64 *max_rate_array)
{ … }
static int update_dscp_maxrate(struct net_device *dev, u32 *update)
{ … }
static void nfp_nic_set_trust(struct nfp_net *nn, u32 *update)
{ … }
static void nfp_nic_set_enable(struct nfp_net *nn, u32 enable, u32 *update)
{ … }
static int dcb_ets_check(struct net_device *dev, struct ieee_ets *ets)
{ … }
static void nfp_nic_fill_ets(struct nfp_net *nn)
{ … }
static void nfp_nic_ets_init(struct nfp_net *nn, u32 *update)
{ … }
static int nfp_nic_dcbnl_ieee_setets(struct net_device *dev,
struct ieee_ets *ets)
{ … }
static int nfp_nic_dcbnl_ieee_getmaxrate(struct net_device *dev,
struct ieee_maxrate *maxrate)
{ … }
static int nfp_nic_dcbnl_ieee_setmaxrate(struct net_device *dev,
struct ieee_maxrate *maxrate)
{ … }
static int nfp_nic_set_trust_status(struct nfp_net *nn, u8 status)
{ … }
static int nfp_nic_set_dscp2prio(struct nfp_net *nn, u8 dscp, u8 prio)
{ … }
static int nfp_nic_dcbnl_ieee_setapp(struct net_device *dev,
struct dcb_app *app)
{ … }
static int nfp_nic_dcbnl_ieee_delapp(struct net_device *dev,
struct dcb_app *app)
{ … }
static const struct dcbnl_rtnl_ops nfp_nic_dcbnl_ops = …;
int nfp_nic_dcb_init(struct nfp_net *nn)
{ … }
void nfp_nic_dcb_clean(struct nfp_net *nn)
{ … }