linux/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * QLogic qlcnic NIC Driver
 * Copyright (c)  2009-2013 QLogic Corporation
 */

#include <linux/types.h>
#include "qlcnic.h"

#define QLC_DCB_NUM_PARAM
#define QLC_DCB_LOCAL_IDX
#define QLC_DCB_OPER_IDX
#define QLC_DCB_PEER_IDX

#define QLC_DCB_GET_MAP(V)

#define QLC_DCB_FW_VER
#define QLC_DCB_MAX_TC
#define QLC_DCB_MAX_APP
#define QLC_DCB_MAX_PRIO
#define QLC_DCB_MAX_PG

#define QLC_DCB_TSA_SUPPORT(V)
#define QLC_DCB_ETS_SUPPORT(V)
#define QLC_DCB_VERSION_SUPPORT(V)
#define QLC_DCB_MAX_NUM_TC(V)
#define QLC_DCB_MAX_NUM_ETS_TC(V)
#define QLC_DCB_MAX_NUM_PFC_TC(V)
#define QLC_DCB_GET_TC_PRIO(X, P)
#define QLC_DCB_GET_PGID_PRIO(X, P)
#define QLC_DCB_GET_BWPER_PG(X, P)
#define QLC_DCB_GET_TSA_PG(X, P)
#define QLC_DCB_GET_PFC_PRIO(X, P)
#define QLC_DCB_GET_PROTO_ID_APP(X)
#define QLC_DCB_GET_SELECTOR_APP(X)

#define QLC_DCB_LOCAL_PARAM_FWID
#define QLC_DCB_OPER_PARAM_FWID
#define QLC_DCB_PEER_PARAM_FWID

#define QLC_83XX_DCB_GET_NUMAPP(X)
#define QLC_83XX_DCB_TSA_VALID(X)
#define QLC_83XX_DCB_PFC_VALID(X)
#define QLC_83XX_DCB_GET_PRIOMAP_APP(X)

#define QLC_82XX_DCB_GET_NUMAPP(X)
#define QLC_82XX_DCB_TSA_VALID(X)
#define QLC_82XX_DCB_PFC_VALID(X)
#define QLC_82XX_DCB_GET_PRIOVAL_APP(X)
#define QLC_82XX_DCB_GET_PRIOMAP_APP(X)
#define QLC_82XX_DCB_PRIO_TC_MAP

static const struct dcbnl_rtnl_ops qlcnic_dcbnl_ops;

static void qlcnic_dcb_aen_work(struct work_struct *);
static void qlcnic_dcb_data_cee_param_map(struct qlcnic_adapter *);

static inline void __qlcnic_init_dcbnl_ops(struct qlcnic_dcb *);
static void __qlcnic_dcb_free(struct qlcnic_dcb *);
static int __qlcnic_dcb_attach(struct qlcnic_dcb *);
static int __qlcnic_dcb_query_hw_capability(struct qlcnic_dcb *, char *);
static void __qlcnic_dcb_get_info(struct qlcnic_dcb *);

static int qlcnic_82xx_dcb_get_hw_capability(struct qlcnic_dcb *);
static int qlcnic_82xx_dcb_query_cee_param(struct qlcnic_dcb *, char *, u8);
static int qlcnic_82xx_dcb_get_cee_cfg(struct qlcnic_dcb *);
static void qlcnic_82xx_dcb_aen_handler(struct qlcnic_dcb *, void *);

static int qlcnic_83xx_dcb_get_hw_capability(struct qlcnic_dcb *);
static int qlcnic_83xx_dcb_query_cee_param(struct qlcnic_dcb *, char *, u8);
static int qlcnic_83xx_dcb_get_cee_cfg(struct qlcnic_dcb *);
static void qlcnic_83xx_dcb_aen_handler(struct qlcnic_dcb *, void *);

struct qlcnic_dcb_capability {};

struct qlcnic_dcb_param {};

struct qlcnic_dcb_mbx_params {};

struct qlcnic_82xx_dcb_param_mbx_le {};

enum qlcnic_dcb_selector {};

enum qlcnic_dcb_prio_type {};

enum qlcnic_dcb_pfc_type {};

struct qlcnic_dcb_prio_cfg {};

struct qlcnic_dcb_pg_cfg {};

struct qlcnic_dcb_tc_cfg {};

struct qlcnic_dcb_app {};

struct qlcnic_dcb_cee {};

struct qlcnic_dcb_cfg {};

static const struct qlcnic_dcb_ops qlcnic_83xx_dcb_ops =;

static const struct qlcnic_dcb_ops qlcnic_82xx_dcb_ops =;

static u8 qlcnic_dcb_get_num_app(struct qlcnic_adapter *adapter, u32 val)
{}

static inline u8 qlcnic_dcb_pfc_hdr_valid(struct qlcnic_adapter *adapter,
					  u32 val)
{}

static inline u8 qlcnic_dcb_tsa_hdr_valid(struct qlcnic_adapter *adapter,
					  u32 val)
{}

static inline u8 qlcnic_dcb_get_prio_map_app(struct qlcnic_adapter *adapter,
					     u32 val)
{}

static int qlcnic_dcb_prio_count(u8 up_tc_map)
{}

static inline void __qlcnic_init_dcbnl_ops(struct qlcnic_dcb *dcb)
{}

static void qlcnic_set_dcb_ops(struct qlcnic_adapter *adapter)
{}

int qlcnic_register_dcb(struct qlcnic_adapter *adapter)
{}

static void __qlcnic_dcb_free(struct qlcnic_dcb *dcb)
{}

static void __qlcnic_dcb_get_info(struct qlcnic_dcb *dcb)
{}

static int __qlcnic_dcb_attach(struct qlcnic_dcb *dcb)
{}

static int __qlcnic_dcb_query_hw_capability(struct qlcnic_dcb *dcb, char *buf)
{}

static int __qlcnic_dcb_get_capability(struct qlcnic_dcb *dcb, u32 *val)
{}

static int qlcnic_82xx_dcb_get_hw_capability(struct qlcnic_dcb *dcb)
{}

static int qlcnic_82xx_dcb_query_cee_param(struct qlcnic_dcb *dcb,
					   char *buf, u8 type)
{}

static int qlcnic_82xx_dcb_get_cee_cfg(struct qlcnic_dcb *dcb)
{}

static void qlcnic_dcb_aen_work(struct work_struct *work)
{}

static void qlcnic_82xx_dcb_aen_handler(struct qlcnic_dcb *dcb, void *data)
{}

static int qlcnic_83xx_dcb_get_hw_capability(struct qlcnic_dcb *dcb)
{}

static int qlcnic_83xx_dcb_query_cee_param(struct qlcnic_dcb *dcb,
					   char *buf, u8 idx)
{}

static int qlcnic_83xx_dcb_get_cee_cfg(struct qlcnic_dcb *dcb)
{}

static void qlcnic_83xx_dcb_aen_handler(struct qlcnic_dcb *dcb, void *data)
{}

static void qlcnic_dcb_fill_cee_tc_params(struct qlcnic_dcb_mbx_params *mbx,
					  struct qlcnic_dcb_param *each,
					  struct qlcnic_dcb_cee *type)
{}

static void qlcnic_dcb_fill_cee_pg_params(struct qlcnic_dcb_param *each,
					  struct qlcnic_dcb_cee *type)
{}

static void
qlcnic_dcb_fill_cee_app_params(struct qlcnic_adapter *adapter, u8 idx,
			       struct qlcnic_dcb_param *each,
			       struct qlcnic_dcb_cee *type)
{}

static void qlcnic_dcb_map_cee_params(struct qlcnic_adapter *adapter, u8 idx)
{}

static void qlcnic_dcb_data_cee_param_map(struct qlcnic_adapter *adapter)
{}

static u8 qlcnic_dcb_get_state(struct net_device *netdev)
{}

static void qlcnic_dcb_get_perm_hw_addr(struct net_device *netdev, u8 *addr)
{}

static void
qlcnic_dcb_get_pg_tc_cfg_tx(struct net_device *netdev, int tc, u8 *prio,
			    u8 *pgid, u8 *bw_per, u8 *up_tc_map)
{}

static void qlcnic_dcb_get_pg_bwg_cfg_tx(struct net_device *netdev, int pgid,
					 u8 *bw_pct)
{}

static void qlcnic_dcb_get_pfc_cfg(struct net_device *netdev, int prio,
				   u8 *setting)
{}

static u8 qlcnic_dcb_get_capability(struct net_device *netdev, int capid,
				    u8 *cap)
{}

static int qlcnic_dcb_get_num_tcs(struct net_device *netdev, int attr, u8 *num)
{}

static int qlcnic_dcb_get_app(struct net_device *netdev, u8 idtype, u16 id)
{}

static u8 qlcnic_dcb_get_pfc_state(struct net_device *netdev)
{}

static u8 qlcnic_dcb_get_dcbx(struct net_device *netdev)
{}

static u8 qlcnic_dcb_get_feat_cfg(struct net_device *netdev, int fid, u8 *flag)
{}

static inline void
qlcnic_dcb_get_pg_tc_cfg_rx(struct net_device *netdev, int prio, u8 *prio_type,
			    u8 *pgid, u8 *bw_pct, u8 *up_map)
{}

static inline void
qlcnic_dcb_get_pg_bwg_cfg_rx(struct net_device *netdev, int pgid, u8 *bw_pct)
{}

static int qlcnic_dcb_peer_app_info(struct net_device *netdev,
				    struct dcb_peer_app_info *info,
				    u16 *app_count)
{}

static int qlcnic_dcb_peer_app_table(struct net_device *netdev,
				     struct dcb_app *table)
{}

static int qlcnic_dcb_cee_peer_get_pg(struct net_device *netdev,
				      struct cee_pg *pg)
{}

static int qlcnic_dcb_cee_peer_get_pfc(struct net_device *netdev,
				       struct cee_pfc *pfc)
{}

static const struct dcbnl_rtnl_ops qlcnic_dcbnl_ops =;