#ifndef BNX2X_H
#define BNX2X_H
#include <linux/pci.h>
#include <linux/netdevice.h>
#include <linux/dma-mapping.h>
#include <linux/types.h>
#include <linux/pci_regs.h>
#include <linux/ptp_clock_kernel.h>
#include <linux/net_tstamp.h>
#include <linux/timecounter.h>
#define DRV_MODULE_VERSION …
#define BNX2X_BC_VER …
#if defined(CONFIG_DCB)
#define BCM_DCBNL
#endif
#include "bnx2x_hsi.h"
#include "../cnic_if.h"
#define BNX2X_MIN_MSIX_VEC_CNT(bp) …
#include <linux/mdio.h>
#include "bnx2x_reg.h"
#include "bnx2x_fw_defs.h"
#include "bnx2x_mfw_req.h"
#include "bnx2x_link.h"
#include "bnx2x_sp.h"
#include "bnx2x_dcb.h"
#include "bnx2x_stats.h"
#include "bnx2x_vfpf.h"
enum bnx2x_int_mode { … };
#define DRV_MODULE_NAME …
#define BNX2X_MSG_OFF …
#define BNX2X_MSG_MCP …
#define BNX2X_MSG_STATS …
#define BNX2X_MSG_NVM …
#define BNX2X_MSG_DMAE …
#define BNX2X_MSG_SP …
#define BNX2X_MSG_FP …
#define BNX2X_MSG_IOV …
#define BNX2X_MSG_PTP …
#define BNX2X_MSG_IDLE …
#define BNX2X_MSG_ETHTOOL …
#define BNX2X_MSG_DCB …
#define DP_INNER(fmt, ...) …
#define DP(__mask, fmt, ...) …
#define DP_AND(__mask, fmt, ...) …
#define DP_CONT(__mask, fmt, ...) …
#define BNX2X_DBG_ERR(fmt, ...) …
#define BNX2X_ERR(fmt, ...) …
#define BNX2X_ERROR(fmt, ...) …
#define BNX2X_DEV_INFO(fmt, ...) …
void bnx2x_panic_dump(struct bnx2x *bp, bool disable_int);
#ifdef BNX2X_STOP_ON_ERROR
#define bnx2x_panic …
#else
#define bnx2x_panic() …
#endif
#define bnx2x_mc_addr(ha) …
#define bnx2x_uc_addr(ha) …
#define U64_LO(x) …
#define U64_HI(x) …
#define HILO_U64(hi, lo) …
#define REG_ADDR(bp, offset) …
#define REG_RD(bp, offset) …
#define REG_RD8(bp, offset) …
#define REG_RD16(bp, offset) …
#define REG_WR_RELAXED(bp, offset, val) …
#define REG_WR16_RELAXED(bp, offset, val) …
#define REG_WR(bp, offset, val) …
#define REG_WR8(bp, offset, val) …
#define REG_WR16(bp, offset, val) …
#define REG_RD_IND(bp, offset) …
#define REG_WR_IND(bp, offset, val) …
#define REG_RD_DMAE(bp, offset, valp, len32) …
#define REG_WR_DMAE(bp, offset, valp, len32) …
#define REG_WR_DMAE_LEN(bp, offset, valp, len32) …
#define VIRT_WR_DMAE_LEN(bp, data, addr, len32, le32_swap) …
#define SHMEM_ADDR(bp, field) …
#define SHMEM_RD(bp, field) …
#define SHMEM_WR(bp, field, val) …
#define SHMEM2_ADDR(bp, field) …
#define SHMEM2_RD(bp, field) …
#define SHMEM2_WR(bp, field, val) …
#define MF_CFG_ADDR(bp, field) …
#define MF2_CFG_ADDR(bp, field) …
#define MF_CFG_RD(bp, field) …
#define MF_CFG_WR(bp, field, val) …
#define MF2_CFG_RD(bp, field) …
#define SHMEM2_HAS(bp, field) …
#define EMAC_RD(bp, reg) …
#define EMAC_WR(bp, reg, val) …
#define HC_SP_INDEX_ETH_DEF_CONS …
#define HC_SP_INDEX_EQ_CONS …
#define HC_SP_INDEX_ETH_FCOE_TX_CQ_CONS …
#define HC_SP_INDEX_ETH_FCOE_RX_CQ_CONS …
#define HC_SP_INDEX_ETH_ISCSI_CQ_CONS …
#define HC_SP_INDEX_ETH_ISCSI_RX_CQ_CONS …
#define BNX2X_FCOE_L2_RX_INDEX …
#define BNX2X_FCOE_L2_TX_INDEX …
enum { … };
#define BNX2X_1st_NON_L2_ETH_CID(bp) …
#define UIO_DPM …
#define UIO_ROUNDUP(bp) …
#define UIO_CID_OFFSET(bp) …
#define UIO_DPM_ALIGN(bp) …
#define UIO_DPM_CID0_OFFSET(bp) …
#define BNX2X_CNIC_START_ETH_CID(bp) …
#define UIO_CID_PAD(bp) …
#define BNX2X_ISCSI_ETH_CID(bp) …
#define BNX2X_FCOE_ETH_CID(bp) …
#define CNIC_SUPPORT(bp) …
#define CNIC_ENABLED(bp) …
#define CNIC_LOADED(bp) …
#define FCOE_INIT(bp) …
#define AEU_IN_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR …
#define SM_RX_ID …
#define SM_TX_ID …
#define FIRST_TX_ONLY_COS_INDEX …
#define FIRST_TX_COS_INDEX …
#define CID_TO_FP(cid, bp) …
#define CID_COS_TO_TX_ONLY_CID(cid, cos, bp) …
#define FP_COS_TO_TXQ(fp, cos, bp) …
enum { … };
#define MAX_ETH_TXQ_IDX(bp) …
#define FCOE_TXQ_IDX(bp) …
struct sw_rx_bd { … };
struct sw_tx_bd { … };
struct sw_rx_page { … };
db_prod;
#define BRB_SIZE(bp) …
#define MAX_AGG_QS(bp) …
#define FW_DROP_LEVEL(bp) …
#define FW_PREFETCH_CNT …
#define DROPLESS_FC_HEADROOM …
#define BCM_PAGE_SHIFT …
#define BCM_PAGE_SIZE …
#define BCM_PAGE_MASK …
#define BCM_PAGE_ALIGN(addr) …
#define PAGES_PER_SGE_SHIFT …
#define PAGES_PER_SGE …
#define SGE_PAGE_SHIFT …
#define SGE_PAGE_SIZE …
#define SGE_PAGE_MASK …
#define SGE_PAGE_ALIGN(addr) …
#define SGE_PAGES …
#define TPA_AGG_SIZE …
#define NUM_RX_SGE_PAGES …
#define RX_SGE_CNT …
#define NEXT_PAGE_SGE_DESC_CNT …
#define MAX_RX_SGE_CNT …
#define RX_SGE_MASK …
#define NUM_RX_SGE …
#define MAX_RX_SGE …
#define NEXT_SGE_IDX(x) …
#define RX_SGE(x) …
#define NUM_SGE_REQ …
#define NUM_SGE_PG_REQ …
#define SGE_TH_LO(bp) …
#define SGE_TH_HI(bp) …
#define BIT_VEC64_ELEM_SZ …
#define BIT_VEC64_ELEM_SHIFT …
#define BIT_VEC64_ELEM_MASK …
#define __BIT_VEC64_SET_BIT(el, bit) …
#define __BIT_VEC64_CLEAR_BIT(el, bit) …
#define BIT_VEC64_SET_BIT(vec64, idx) …
#define BIT_VEC64_CLEAR_BIT(vec64, idx) …
#define BIT_VEC64_TEST_BIT(vec64, idx) …
#define BIT_VEC64_ONES_MASK(idx) …
#define BIT_VEC64_ELEM_ONE_MASK …
#define RX_SGE_MASK_LEN …
#define RX_SGE_MASK_LEN_MASK …
#define NEXT_SGE_MASK_ELEM(el) …
host_hc_status_block;
struct bnx2x_agg_info { … };
#define Q_STATS_OFFSET32(stat_name) …
struct bnx2x_fp_txdata { … };
enum bnx2x_tpa_mode_t { … };
struct bnx2x_alloc_pool { … };
struct bnx2x_fastpath { … };
#define bnx2x_fp(bp, nr, var) …
#define bnx2x_sp_obj(bp, fp) …
#define bnx2x_fp_stats(bp, fp) …
#define bnx2x_fp_qstats(bp, fp) …
#define BNX2X_FCOE_MINI_JUMBO_MTU …
#define FCOE_IDX_OFFSET …
#define FCOE_IDX(bp) …
#define bnx2x_fcoe_fp(bp) …
#define bnx2x_fcoe(bp, var) …
#define bnx2x_fcoe_inner_sp_obj(bp) …
#define bnx2x_fcoe_sp_obj(bp, var) …
#define bnx2x_fcoe_tx(bp, var) …
#define IS_ETH_FP(fp) …
#define IS_FCOE_FP(fp) …
#define IS_FCOE_IDX(idx) …
#define MAX_FETCH_BD …
#define RX_COPY_THRESH …
#define NUM_TX_RINGS …
#define TX_DESC_CNT …
#define NEXT_PAGE_TX_DESC_CNT …
#define MAX_TX_DESC_CNT …
#define NUM_TX_BD …
#define MAX_TX_BD …
#define MAX_TX_AVAIL …
#define NEXT_TX_IDX(x) …
#define TX_BD(x) …
#define TX_BD_POFF(x) …
#define NEXT_CNT_PER_TX_PKT(bds) …
#define BDS_PER_TX_PKT …
#define MAX_BDS_PER_TX_PKT …
#define MAX_DESC_PER_TX_PKT …
#define NUM_RX_RINGS …
#define RX_DESC_CNT …
#define NEXT_PAGE_RX_DESC_CNT …
#define MAX_RX_DESC_CNT …
#define RX_DESC_MASK …
#define NUM_RX_BD …
#define MAX_RX_BD …
#define MAX_RX_AVAIL …
#define NUM_BD_REQ …
#define NUM_BD_PG_REQ …
#define BD_TH_LO(bp) …
#define BD_TH_HI(bp) …
#define MIN_RX_AVAIL …
#define MIN_RX_SIZE_TPA_HW …
#define MIN_RX_SIZE_NONTPA_HW …
#define MIN_RX_SIZE_TPA …
#define MIN_RX_SIZE_NONTPA …
#define NEXT_RX_IDX(x) …
#define RX_BD(x) …
#define CQE_BD_REL …
#define NUM_RCQ_RINGS …
#define RCQ_DESC_CNT …
#define NEXT_PAGE_RCQ_DESC_CNT …
#define MAX_RCQ_DESC_CNT …
#define NUM_RCQ_BD …
#define MAX_RCQ_BD …
#define MAX_RCQ_AVAIL …
#define NEXT_RCQ_IDX(x) …
#define RCQ_BD(x) …
#define NUM_RCQ_REQ …
#define NUM_RCQ_PG_REQ …
#define RCQ_TH_LO(bp) …
#define RCQ_TH_HI(bp) …
#define SUB_S16(a, b) …
#define SUB_S32(a, b) …
#define BNX2X_SWCID_SHIFT …
#define BNX2X_SWCID_MASK …
#define SW_CID(x) …
#define CQE_CMD(x) …
#define BD_UNMAP_ADDR(bd) …
#define BD_UNMAP_LEN(bd) …
#define BNX2X_DB_MIN_SHIFT …
#define BNX2X_DB_SHIFT …
#if (BNX2X_DB_SHIFT < BNX2X_DB_MIN_SHIFT)
#error "Min DB doorbell stride is 8"
#endif
#define DOORBELL_RELAXED(bp, cid, val) …
#define SKB_CS_OFF(skb) …
#define SKB_CS(skb) …
#define pbd_tcp_flags(tcp_hdr) …
#define XMIT_PLAIN …
#define XMIT_CSUM_V4 …
#define XMIT_CSUM_V6 …
#define XMIT_CSUM_TCP …
#define XMIT_GSO_V4 …
#define XMIT_GSO_V6 …
#define XMIT_CSUM_ENC_V4 …
#define XMIT_CSUM_ENC_V6 …
#define XMIT_GSO_ENC_V4 …
#define XMIT_GSO_ENC_V6 …
#define XMIT_CSUM_ENC …
#define XMIT_GSO_ENC …
#define XMIT_CSUM …
#define XMIT_GSO …
#define CQE_TYPE(cqe_fp_flags) …
#define CQE_TYPE_START(cqe_type) …
#define CQE_TYPE_STOP(cqe_type) …
#define CQE_TYPE_SLOW(cqe_type) …
#define CQE_TYPE_FAST(cqe_type) …
#define ETH_RX_ERROR_FALGS …
#define BNX2X_PRS_FLAG_OVERETH_IPV4(flags) …
#define BNX2X_RX_SUM_FIX(cqe) …
#define FP_USB_FUNC_OFF …
#define FP_CSB_FUNC_OFF …
#define HC_INDEX_ETH_RX_CQ_CONS …
#define HC_INDEX_OOO_TX_CQ_CONS …
#define HC_INDEX_ETH_TX_CQ_CONS_COS0 …
#define HC_INDEX_ETH_TX_CQ_CONS_COS1 …
#define HC_INDEX_ETH_TX_CQ_CONS_COS2 …
#define HC_INDEX_ETH_FIRST_TX_CQ_CONS …
#define BNX2X_RX_SB_INDEX …
#define BNX2X_TX_SB_INDEX_BASE …
#define BNX2X_TX_SB_INDEX_COS0 …
struct bnx2x_common { … };
#define BNX2X_IGU_STAS_MSG_VF_CNT …
#define BNX2X_IGU_STAS_MSG_PF_CNT …
#define MAX_IGU_ATTN_ACK_TO …
struct bnx2x_port { … };
#define STATS_OFFSET32(stat_name) …
#define BNX2X_MAX_NUM_OF_VFS …
#define BNX2X_VF_CID_WND …
#define BNX2X_CIDS_PER_VF …
#define BNX2X_VF_CIDS …
#define BNX2X_FIRST_VF_CID …
#define BNX2X_MAX_NUM_VF_QUEUES …
#define BNX2X_VF_ID_INVALID …
#define BNX2X_VF_BAR_SIZE …
#if (BNX2X_VF_BAR_SIZE < BNX2X_CIDS_PER_VF * (1 << BNX2X_DB_SHIFT))
#error "VF doorbell bar size is 512"
#endif
#define FP_SB_MAX_E1x …
#define FP_SB_MAX_E2 …
cdu_context;
#define CDU_ILT_PAGE_SZ_HW …
#define CDU_ILT_PAGE_SZ …
#define ILT_PAGE_CIDS …
#define CNIC_ISCSI_CID_MAX …
#define CNIC_FCOE_CID_MAX …
#define CNIC_CID_MAX …
#define CNIC_ILT_LINES …
#define QM_ILT_PAGE_SZ_HW …
#define QM_ILT_PAGE_SZ …
#define QM_CID_ROUND …
#define TM_ILT_PAGE_SZ_HW …
#define TM_ILT_PAGE_SZ …
#define TM_CONN_NUM …
#define TM_ILT_SZ …
#define TM_ILT_LINES …
#define SRC_ILT_PAGE_SZ_HW …
#define SRC_ILT_PAGE_SZ …
#define SRC_HASH_BITS …
#define SRC_CONN_NUM …
#define SRC_ILT_SZ …
#define SRC_T2_SZ …
#define SRC_ILT_LINES …
#define MAX_DMAE_C …
struct bnx2x_slowpath { … };
#define bnx2x_sp(bp, var) …
#define bnx2x_sp_mapping(bp, var) …
#define MAX_DYNAMIC_ATTN_GRPS …
struct attn_route { … };
struct iro { … };
struct hw_context { … };
struct bnx2x_ilt;
struct bnx2x_vfdb;
enum bnx2x_recovery_state { … };
#define NUM_EQ_PAGES …
#define EQ_DESC_CNT_PAGE …
#define EQ_DESC_MAX_PAGE …
#define NUM_EQ_DESC …
#define EQ_DESC_MASK …
#define MAX_EQ_AVAIL …
#define NEXT_EQ_IDX(x) …
#define EQ_DESC(x) …
#define BNX2X_EQ_INDEX …
struct bnx2x_link_report_data { … };
enum { … };
enum { … };
struct bnx2x_fw_stats_req { … };
struct bnx2x_fw_stats_data { … };
enum sp_rtnl_flag { … };
enum bnx2x_iov_flag { … };
struct bnx2x_prev_path_list { … };
struct bnx2x_sp_objs { … };
struct bnx2x_fp_stats { … };
enum { … };
struct bnx2x_vlan_entry { … };
enum bnx2x_udp_port_type { … };
struct bnx2x { … };
extern int num_queues;
#define BNX2X_NUM_QUEUES(bp) …
#define BNX2X_NUM_ETH_QUEUES(bp) …
#define BNX2X_NUM_NON_CNIC_QUEUES(bp) …
#define BNX2X_NUM_RX_QUEUES(bp) …
#define is_multi(bp) …
#define BNX2X_MAX_QUEUES(bp) …
#define RSS_IPV4_CAP_MASK …
#define RSS_IPV4_TCP_CAP_MASK …
#define RSS_IPV6_CAP_MASK …
#define RSS_IPV6_TCP_CAP_MASK …
struct bnx2x_func_init_params { … };
#define for_each_cnic_queue(bp, var) …
#define for_each_eth_queue(bp, var) …
#define for_each_nondefault_eth_queue(bp, var) …
#define for_each_queue(bp, var) …
#define for_each_valid_rx_queue(bp, var) …
#define for_each_rx_queue_cnic(bp, var) …
#define for_each_rx_queue(bp, var) …
#define for_each_valid_tx_queue(bp, var) …
#define for_each_tx_queue_cnic(bp, var) …
#define for_each_tx_queue(bp, var) …
#define for_each_nondefault_queue(bp, var) …
#define for_each_cos_in_tx_queue(fp, var) …
#define skip_rx_queue(bp, idx) …
#define skip_tx_queue(bp, idx) …
#define skip_queue(bp, idx) …
int bnx2x_idle_chk(struct bnx2x *bp);
int bnx2x_set_mac_one(struct bnx2x *bp, const u8 *mac,
struct bnx2x_vlan_mac_obj *obj, bool set,
int mac_type, unsigned long *ramrod_flags);
int bnx2x_set_vlan_one(struct bnx2x *bp, u16 vlan,
struct bnx2x_vlan_mac_obj *obj, bool set,
unsigned long *ramrod_flags);
int bnx2x_del_all_macs(struct bnx2x *bp,
struct bnx2x_vlan_mac_obj *mac_obj,
int mac_type, bool wait_for_comp);
void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p);
void bnx2x_init_sb(struct bnx2x *bp, dma_addr_t mapping, int vfid,
u8 vf_valid, int fw_sb_id, int igu_sb_id);
int bnx2x_get_gpio(struct bnx2x *bp, int gpio_num, u8 port);
int bnx2x_set_gpio(struct bnx2x *bp, int gpio_num, u32 mode, u8 port);
int bnx2x_set_mult_gpio(struct bnx2x *bp, u8 pins, u32 mode);
int bnx2x_set_gpio_int(struct bnx2x *bp, int gpio_num, u32 mode, u8 port);
void bnx2x_read_mf_cfg(struct bnx2x *bp);
int bnx2x_pretend_func(struct bnx2x *bp, u16 pretend_func_val);
void bnx2x_read_dmae(struct bnx2x *bp, u32 src_addr, u32 len32);
void bnx2x_write_dmae(struct bnx2x *bp, dma_addr_t dma_addr, u32 dst_addr,
u32 len32);
void bnx2x_post_dmae(struct bnx2x *bp, struct dmae_command *dmae, int idx);
u32 bnx2x_dmae_opcode_add_comp(u32 opcode, u8 comp_type);
u32 bnx2x_dmae_opcode_clr_src_reset(u32 opcode);
u32 bnx2x_dmae_opcode(struct bnx2x *bp, u8 src_type, u8 dst_type,
bool with_comp, u8 comp_type);
void bnx2x_prep_dmae_with_comp(struct bnx2x *bp, struct dmae_command *dmae,
u8 src_type, u8 dst_type);
int bnx2x_issue_dmae_with_comp(struct bnx2x *bp, struct dmae_command *dmae,
u32 *comp);
u32 bnx2x_flr_clnup_poll_count(struct bnx2x *bp);
void bnx2x_tx_hw_flushed(struct bnx2x *bp, u32 poll_count);
int bnx2x_send_final_clnup(struct bnx2x *bp, u8 clnup_func, u32 poll_cnt);
u8 bnx2x_is_pcie_pending(struct pci_dev *dev);
int bnx2x_flr_clnup_poll_hw_counter(struct bnx2x *bp, u32 reg,
char *msg, u32 poll_cnt);
void bnx2x_calc_fc_adv(struct bnx2x *bp);
int bnx2x_sp_post(struct bnx2x *bp, int command, int cid,
u32 data_hi, u32 data_lo, int cmd_type);
void bnx2x_update_coalesce(struct bnx2x *bp);
int bnx2x_get_cur_phy_idx(struct bnx2x *bp);
bool bnx2x_port_after_undi(struct bnx2x *bp);
static inline u32 reg_poll(struct bnx2x *bp, u32 reg, u32 expected, int ms,
int wait)
{ … }
void bnx2x_igu_clear_sb_gen(struct bnx2x *bp, u8 func, u8 idu_sb_id,
bool is_pf);
#define BNX2X_ILT_ZALLOC(x, y, size) …
#define BNX2X_ILT_FREE(x, y, size) …
#define ILOG2(x) …
#define ILT_NUM_PAGE_ENTRIES …
#define ILT_PER_FUNC …
#define FUNC_ILT_BASE(func) …
#define ONCHIP_ADDR1(x) …
#define ONCHIP_ADDR2(x) …
#define LOAD_NORMAL …
#define LOAD_OPEN …
#define LOAD_DIAG …
#define LOAD_LOOPBACK_EXT …
#define UNLOAD_NORMAL …
#define UNLOAD_CLOSE …
#define UNLOAD_RECOVERY …
#define DMAE_TIMEOUT …
#define DMAE_PCI_ERROR …
#define DMAE_NOT_RDY …
#define DMAE_PCI_ERR_FLAG …
#define DMAE_SRC_PCI …
#define DMAE_SRC_GRC …
#define DMAE_DST_NONE …
#define DMAE_DST_PCI …
#define DMAE_DST_GRC …
#define DMAE_COMP_PCI …
#define DMAE_COMP_GRC …
#define DMAE_COMP_REGULAR …
#define DMAE_COM_SET_ERR …
#define DMAE_CMD_SRC_PCI …
#define DMAE_CMD_SRC_GRC …
#define DMAE_CMD_DST_PCI …
#define DMAE_CMD_DST_GRC …
#define DMAE_CMD_C_DST_PCI …
#define DMAE_CMD_C_DST_GRC …
#define DMAE_CMD_C_ENABLE …
#define DMAE_CMD_ENDIANITY_NO_SWAP …
#define DMAE_CMD_ENDIANITY_B_SWAP …
#define DMAE_CMD_ENDIANITY_DW_SWAP …
#define DMAE_CMD_ENDIANITY_B_DW_SWAP …
#define DMAE_CMD_PORT_0 …
#define DMAE_CMD_PORT_1 …
#define DMAE_CMD_SRC_RESET …
#define DMAE_CMD_DST_RESET …
#define DMAE_CMD_E1HVN_SHIFT …
#define DMAE_SRC_PF …
#define DMAE_SRC_VF …
#define DMAE_DST_PF …
#define DMAE_DST_VF …
#define DMAE_C_SRC …
#define DMAE_C_DST …
#define DMAE_LEN32_RD_MAX …
#define DMAE_LEN32_WR_MAX(bp) …
#define DMAE_COMP_VAL …
#define MAX_DMAE_C_PER_PORT …
#define INIT_DMAE_C(bp) …
#define PMF_DMAE_C(bp) …
#define BNX2X_FW_DMAE_C …
#define PCICFG_LINK_WIDTH …
#define PCICFG_LINK_WIDTH_SHIFT …
#define PCICFG_LINK_SPEED …
#define PCICFG_LINK_SPEED_SHIFT …
#define BNX2X_NUM_TESTS_SF …
#define BNX2X_NUM_TESTS_MF …
#define BNX2X_NUM_TESTS(bp) …
#define BNX2X_PHY_LOOPBACK …
#define BNX2X_MAC_LOOPBACK …
#define BNX2X_EXT_LOOPBACK …
#define BNX2X_PHY_LOOPBACK_FAILED …
#define BNX2X_MAC_LOOPBACK_FAILED …
#define BNX2X_EXT_LOOPBACK_FAILED …
#define BNX2X_LOOPBACK_FAILED …
#define STROM_ASSERT_ARRAY_SIZE …
#define HW_CID(bp, x) …
#define SP_DESC_CNT …
#define MAX_SP_DESC_CNT …
#define BNX2X_BTR …
#define MAX_SPQ_PENDING …
#define DEF_MIN_RATE …
#define RS_PERIODIC_TIMEOUT_USEC …
#define QM_ARB_BYTES …
#define MIN_RES …
#define MIN_ABOVE_THRESH …
#define T_FAIR_COEF …
#define FAIR_MEM …
#define ATTN_NIG_FOR_FUNC …
#define ATTN_SW_TIMER_4_FUNC …
#define GPIO_2_FUNC …
#define GPIO_3_FUNC …
#define GPIO_4_FUNC …
#define ATTN_GENERAL_ATTN_1 …
#define ATTN_GENERAL_ATTN_2 …
#define ATTN_GENERAL_ATTN_3 …
#define ATTN_GENERAL_ATTN_4 …
#define ATTN_GENERAL_ATTN_5 …
#define ATTN_GENERAL_ATTN_6 …
#define ATTN_HARD_WIRED_MASK …
#define ATTENTION_ID …
#define IS_MF_STORAGE_ONLY(bp) …
#define BNX2X_PMF_LINK_ASSERT …
#define BNX2X_MC_ASSERT_BITS …
#define BNX2X_MCP_ASSERT …
#define BNX2X_GRC_TIMEOUT …
#define BNX2X_GRC_RSV …
#define HW_INTERRUPT_ASSERT_SET_0 …
#define HW_PRTY_ASSERT_SET_0 …
#define HW_INTERRUPT_ASSERT_SET_1 …
#define HW_PRTY_ASSERT_SET_1 …
#define HW_INTERRUPT_ASSERT_SET_2 …
#define HW_PRTY_ASSERT_SET_2 …
#define HW_PRTY_ASSERT_SET_3_WITHOUT_SCPAD …
#define HW_PRTY_ASSERT_SET_3 …
#define HW_PRTY_ASSERT_SET_4 …
#define MULTI_MASK …
#define DEF_USB_FUNC_OFF …
#define DEF_CSB_FUNC_OFF …
#define DEF_XSB_FUNC_OFF …
#define DEF_TSB_FUNC_OFF …
#define DEF_USB_IGU_INDEX_OFF …
#define DEF_CSB_IGU_INDEX_OFF …
#define DEF_XSB_IGU_INDEX_OFF …
#define DEF_TSB_IGU_INDEX_OFF …
#define DEF_USB_SEGMENT_OFF …
#define DEF_CSB_SEGMENT_OFF …
#define DEF_XSB_SEGMENT_OFF …
#define DEF_TSB_SEGMENT_OFF …
#define BNX2X_SP_DSB_INDEX …
#define CAM_IS_INVALID(x) …
#define MC_HASH_SIZE …
#define MC_HASH_OFFSET(bp, i) …
#ifndef PXP2_REG_PXP2_INT_STS
#define PXP2_REG_PXP2_INT_STS …
#endif
#ifndef ETH_MAX_RX_CLIENTS_E2
#define ETH_MAX_RX_CLIENTS_E2 …
#endif
#define VENDOR_ID_LEN …
#define VF_ACQUIRE_THRESH …
#define VF_ACQUIRE_MAC_FILTERS …
#define VF_ACQUIRE_MC_FILTERS …
#define VF_ACQUIRE_VLAN_FILTERS …
#define GOOD_ME_REG(me_reg) …
int bnx2x_compare_fw_ver(struct bnx2x *bp, u32 load_code, bool print_err);
#define CMNG_FNS_NONE …
#define CMNG_FNS_MINMAX …
#define HC_SEG_ACCESS_DEF …
#define HC_SEG_ACCESS_ATTN …
#define HC_SEG_ACCESS_NORM …
void bnx2x_set_ethtool_ops(struct bnx2x *bp, struct net_device *netdev);
void bnx2x_notify_link_changed(struct bnx2x *bp);
#define BNX2X_MF_SD_PROTOCOL(bp) …
#define BNX2X_IS_MF_SD_PROTOCOL_ISCSI(bp) …
#define BNX2X_IS_MF_SD_PROTOCOL_FCOE(bp) …
#define IS_MF_ISCSI_SD(bp) …
#define IS_MF_FCOE_SD(bp) …
#define IS_MF_ISCSI_SI(bp) …
#define IS_MF_ISCSI_ONLY(bp) …
#define BNX2X_MF_EXT_PROTOCOL_MASK …
#define BNX2X_MF_EXT_PROT(bp) …
#define BNX2X_HAS_MF_EXT_PROTOCOL_FCOE(bp) …
#define BNX2X_IS_MF_EXT_PROTOCOL_FCOE(bp) …
#define BNX2X_IS_MF_EXT_PROTOCOL_ISCSI(bp) …
#define IS_MF_FCOE_AFEX(bp) …
#define IS_MF_SD_STORAGE_PERSONALITY_ONLY(bp) …
#define IS_MF_SI_STORAGE_PERSONALITY_ONLY(bp) …
#define IS_MF_STORAGE_PERSONALITY_ONLY(bp) …
#define IS_MF_PERCENT_BW(bp) …
#define SET_FLAG(value, mask, flag) …
#define GET_FLAG(value, mask) …
#define GET_FIELD(value, fname) …
enum { … };
#define NUM_MACS …
void bnx2x_set_local_cmng(struct bnx2x *bp);
void bnx2x_update_mng_version(struct bnx2x *bp);
void bnx2x_update_mfw_dump(struct bnx2x *bp);
#define MCPR_SCRATCH_BASE(bp) …
#define E1H_MAX_MF_SB_COUNT …
void bnx2x_init_ptp(struct bnx2x *bp);
int bnx2x_configure_ptp_filters(struct bnx2x *bp);
void bnx2x_set_rx_ts(struct bnx2x *bp, struct sk_buff *skb);
void bnx2x_register_phc(struct bnx2x *bp);
#define BNX2X_MAX_PHC_DRIFT …
#define BNX2X_PTP_TX_TIMEOUT
int bnx2x_vlan_reconfigure_vid(struct bnx2x *bp);
#endif