Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
bna.h File Reference
#include "bfa_defs.h"
#include "bfa_ioc.h"
#include "bfi_enet.h"
#include "bna_types.h"

Go to the source code of this file.

Macros

#define BNA_IOC_TIMER_FREQ   200
 
#define BNA_MESSAGE_SIZE   256
 
#define bna_is_small_rxq(_id)   ((_id) & 0x1)
 
#define BNA_MAC_IS_EQUAL(_mac1, _mac2)   (!memcmp((_mac1), (_mac2), sizeof(mac_t)))
 
#define BNA_POWER_OF_2(x)   (((x) & ((x) - 1)) == 0)
 
#define BNA_TO_POWER_OF_2(x)
 
#define BNA_TO_POWER_OF_2_HIGH(x)
 
#define BNA_SET_DMA_ADDR(_addr, _bna_dma_addr)
 
#define BNA_GET_DMA_ADDR(_bna_dma_addr, _addr)
 
#define containing_rec(addr, type, field)
 
#define BNA_TXQ_WI_NEEDED(_vectors)   (((_vectors) + 3) >> 2)
 
#define BNA_TXQ_PAGE_INDEX_MAX   (PAGE_SIZE >> 6)
 
#define BNA_TXQ_PAGE_INDEX_MAX_SHIFT   (PAGE_SHIFT - 6)
 
#define BNA_TXQ_QPGE_PTR_GET(_qe_idx, _qpt_ptr, _qe_ptr, _qe_ptr_range)
 
#define BNA_RXQ_PAGE_INDEX_MAX   (PAGE_SIZE >> 3)
 
#define BNA_RXQ_PAGE_INDEX_MAX_SHIFT   (PAGE_SHIFT - 3)
 
#define BNA_RXQ_QPGE_PTR_GET(_qe_idx, _qpt_ptr, _qe_ptr, _qe_ptr_range)
 
#define BNA_CQ_PAGE_INDEX_MAX   (PAGE_SIZE >> 4)
 
#define BNA_CQ_PAGE_INDEX_MAX_SHIFT   (PAGE_SHIFT - 4)
 
#define BNA_CQ_QPGE_PTR_GET(_qe_idx, _qpt_ptr, _qe_ptr, _qe_ptr_range)
 
#define BNA_QE_INDX_2_PTR(_cast, _qe_idx, _q_base)   (&((_cast *)(_q_base))[(_qe_idx)])
 
#define BNA_QE_INDX_RANGE(_qe_idx, _q_depth)   ((_q_depth) - (_qe_idx))
 
#define BNA_QE_INDX_ADD(_qe_idx, _qe_num, _q_depth)   ((_qe_idx) = ((_qe_idx) + (_qe_num)) & ((_q_depth) - 1))
 
#define BNA_Q_INDEX_CHANGE(_old_idx, _updated_idx, _q_depth)   (((_updated_idx) - (_old_idx)) & ((_q_depth) - 1))
 
#define BNA_QE_FREE_CNT(_q_ptr, _q_depth)
 
#define BNA_QE_IN_USE_CNT(_q_ptr, _q_depth)
 
#define BNA_Q_GET_CI(_q_ptr)   ((_q_ptr)->q.consumer_index)
 
#define BNA_Q_GET_PI(_q_ptr)   ((_q_ptr)->q.producer_index)
 
#define BNA_Q_PI_ADD(_q_ptr, _num)
 
#define BNA_Q_CI_ADD(_q_ptr, _num)
 
#define BNA_Q_FREE_COUNT(_q_ptr)   (BNA_QE_FREE_CNT(&((_q_ptr)->q), (_q_ptr)->q.q_depth))
 
#define BNA_Q_IN_USE_COUNT(_q_ptr)   (BNA_QE_IN_USE_CNT(&(_q_ptr)->q, (_q_ptr)->q.q_depth))
 
#define BNA_LARGE_PKT_SIZE   1000
 
#define BNA_UPDATE_PKT_CNT(_pkt, _len)
 
#define call_rxf_stop_cbfn(rxf)
 
#define call_rxf_start_cbfn(rxf)
 
#define call_rxf_cam_fltr_cbfn(rxf)
 
#define call_rxf_pause_cbfn(rxf)
 
#define call_rxf_resume_cbfn(rxf)   call_rxf_pause_cbfn(rxf)
 
#define is_xxx_enable(mode, bitmask, xxx)   ((bitmask & xxx) && (mode & xxx))
 
#define is_xxx_disable(mode, bitmask, xxx)   ((bitmask & xxx) && !(mode & xxx))
 
#define xxx_enable(mode, bitmask, xxx)
 
#define xxx_disable(mode, bitmask, xxx)
 
#define xxx_inactive(mode, bitmask, xxx)
 
#define is_promisc_enable(mode, bitmask)   is_xxx_enable(mode, bitmask, BNA_RXMODE_PROMISC)
 
#define is_promisc_disable(mode, bitmask)   is_xxx_disable(mode, bitmask, BNA_RXMODE_PROMISC)
 
#define promisc_enable(mode, bitmask)   xxx_enable(mode, bitmask, BNA_RXMODE_PROMISC)
 
#define promisc_disable(mode, bitmask)   xxx_disable(mode, bitmask, BNA_RXMODE_PROMISC)
 
#define promisc_inactive(mode, bitmask)   xxx_inactive(mode, bitmask, BNA_RXMODE_PROMISC)
 
#define is_default_enable(mode, bitmask)   is_xxx_enable(mode, bitmask, BNA_RXMODE_DEFAULT)
 
#define is_default_disable(mode, bitmask)   is_xxx_disable(mode, bitmask, BNA_RXMODE_DEFAULT)
 
#define default_enable(mode, bitmask)   xxx_enable(mode, bitmask, BNA_RXMODE_DEFAULT)
 
#define default_disable(mode, bitmask)   xxx_disable(mode, bitmask, BNA_RXMODE_DEFAULT)
 
#define default_inactive(mode, bitmask)   xxx_inactive(mode, bitmask, BNA_RXMODE_DEFAULT)
 
#define is_allmulti_enable(mode, bitmask)   is_xxx_enable(mode, bitmask, BNA_RXMODE_ALLMULTI)
 
#define is_allmulti_disable(mode, bitmask)   is_xxx_disable(mode, bitmask, BNA_RXMODE_ALLMULTI)
 
#define allmulti_enable(mode, bitmask)   xxx_enable(mode, bitmask, BNA_RXMODE_ALLMULTI)
 
#define allmulti_disable(mode, bitmask)   xxx_disable(mode, bitmask, BNA_RXMODE_ALLMULTI)
 
#define allmulti_inactive(mode, bitmask)   xxx_inactive(mode, bitmask, BNA_RXMODE_ALLMULTI)
 
#define GET_RXQS(rxp, q0, q1)
 
#define bna_tx_rid_mask(_bna)   ((_bna)->tx_mod.rid_mask)
 
#define bna_rx_rid_mask(_bna)   ((_bna)->rx_mod.rid_mask)
 
#define bna_tx_from_rid(_bna, _rid, _tx)
 
#define bna_rx_from_rid(_bna, _rid, _rx)
 
#define bna_attr(_bna)   (&(_bna)->ioceth.attr)
 

Functions

void bna_bfi_stats_clr_rsp (struct bna *bna, struct bfi_msgq_mhdr *msghdr)
 
void bna_res_req (struct bna_res_info *res_info)
 
void bna_mod_res_req (struct bna *bna, struct bna_res_info *res_info)
 
void bna_init (struct bna *bna, struct bnad *bnad, struct bfa_pcidev *pcidev, struct bna_res_info *res_info)
 
void bna_mod_init (struct bna *bna, struct bna_res_info *res_info)
 
void bna_uninit (struct bna *bna)
 
int bna_num_txq_set (struct bna *bna, int num_txq)
 
int bna_num_rxp_set (struct bna *bna, int num_rxp)
 
void bna_hw_stats_get (struct bna *bna)
 
struct bna_macbna_ucam_mod_mac_get (struct bna_ucam_mod *ucam_mod)
 
void bna_ucam_mod_mac_put (struct bna_ucam_mod *ucam_mod, struct bna_mac *mac)
 
struct bna_macbna_mcam_mod_mac_get (struct bna_mcam_mod *mcam_mod)
 
void bna_mcam_mod_mac_put (struct bna_mcam_mod *mcam_mod, struct bna_mac *mac)
 
struct bna_mcam_handlebna_mcam_mod_handle_get (struct bna_mcam_mod *mod)
 
void bna_mcam_mod_handle_put (struct bna_mcam_mod *mcam_mod, struct bna_mcam_handle *handle)
 
void bna_mbox_handler (struct bna *bna, u32 intr_status)
 
void bna_ethport_cb_rx_started (struct bna_ethport *ethport)
 
void bna_ethport_cb_rx_stopped (struct bna_ethport *ethport)
 
void bna_bfi_tx_enet_start_rsp (struct bna_tx *tx, struct bfi_msgq_mhdr *msghdr)
 
void bna_bfi_tx_enet_stop_rsp (struct bna_tx *tx, struct bfi_msgq_mhdr *msghdr)
 
void bna_bfi_bw_update_aen (struct bna_tx_mod *tx_mod)
 
void bna_tx_mod_init (struct bna_tx_mod *tx_mod, struct bna *bna, struct bna_res_info *res_info)
 
void bna_tx_mod_uninit (struct bna_tx_mod *tx_mod)
 
void bna_tx_mod_start (struct bna_tx_mod *tx_mod, enum bna_tx_type type)
 
void bna_tx_mod_stop (struct bna_tx_mod *tx_mod, enum bna_tx_type type)
 
void bna_tx_mod_fail (struct bna_tx_mod *tx_mod)
 
void bna_tx_res_req (int num_txq, int txq_depth, struct bna_res_info *res_info)
 
struct bna_txbna_tx_create (struct bna *bna, struct bnad *bnad, struct bna_tx_config *tx_cfg, const struct bna_tx_event_cbfn *tx_cbfn, struct bna_res_info *res_info, void *priv)
 
void bna_tx_destroy (struct bna_tx *tx)
 
void bna_tx_enable (struct bna_tx *tx)
 
void bna_tx_disable (struct bna_tx *tx, enum bna_cleanup_type type, void(*cbfn)(void *, struct bna_tx *))
 
void bna_tx_cleanup_complete (struct bna_tx *tx)
 
void bna_tx_coalescing_timeo_set (struct bna_tx *tx, int coalescing_timeo)
 
void bna_bfi_rx_enet_start_rsp (struct bna_rx *rx, struct bfi_msgq_mhdr *msghdr)
 
void bna_bfi_rx_enet_stop_rsp (struct bna_rx *rx, struct bfi_msgq_mhdr *msghdr)
 
void bna_bfi_rxf_cfg_rsp (struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr)
 
void bna_bfi_rxf_mcast_add_rsp (struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr)
 
void bna_rx_mod_init (struct bna_rx_mod *rx_mod, struct bna *bna, struct bna_res_info *res_info)
 
void bna_rx_mod_uninit (struct bna_rx_mod *rx_mod)
 
void bna_rx_mod_start (struct bna_rx_mod *rx_mod, enum bna_rx_type type)
 
void bna_rx_mod_stop (struct bna_rx_mod *rx_mod, enum bna_rx_type type)
 
void bna_rx_mod_fail (struct bna_rx_mod *rx_mod)
 
void bna_rx_res_req (struct bna_rx_config *rx_config, struct bna_res_info *res_info)
 
struct bna_rxbna_rx_create (struct bna *bna, struct bnad *bnad, struct bna_rx_config *rx_cfg, const struct bna_rx_event_cbfn *rx_cbfn, struct bna_res_info *res_info, void *priv)
 
void bna_rx_destroy (struct bna_rx *rx)
 
void bna_rx_enable (struct bna_rx *rx)
 
void bna_rx_disable (struct bna_rx *rx, enum bna_cleanup_type type, void(*cbfn)(void *, struct bna_rx *))
 
void bna_rx_cleanup_complete (struct bna_rx *rx)
 
void bna_rx_coalescing_timeo_set (struct bna_rx *rx, int coalescing_timeo)
 
void bna_rx_dim_reconfig (struct bna *bna, const u32 vector[][BNA_BIAS_T_MAX])
 
void bna_rx_dim_update (struct bna_ccb *ccb)
 
enum bna_cb_status bna_rx_ucast_set (struct bna_rx *rx, u8 *ucmac, void(*cbfn)(struct bnad *, struct bna_rx *))
 
enum bna_cb_status bna_rx_ucast_add (struct bna_rx *rx, u8 *ucmac, void(*cbfn)(struct bnad *, struct bna_rx *))
 
enum bna_cb_status bna_rx_ucast_del (struct bna_rx *rx, u8 *ucmac, void(*cbfn)(struct bnad *, struct bna_rx *))
 
enum bna_cb_status bna_rx_mcast_add (struct bna_rx *rx, u8 *mcmac, void(*cbfn)(struct bnad *, struct bna_rx *))
 
enum bna_cb_status bna_rx_mcast_listset (struct bna_rx *rx, int count, u8 *mcmac, void(*cbfn)(struct bnad *, struct bna_rx *))
 
enum bna_cb_status bna_rx_mode_set (struct bna_rx *rx, enum bna_rxmode rxmode, enum bna_rxmode bitmask, void(*cbfn)(struct bnad *, struct bna_rx *))
 
void bna_rx_vlan_add (struct bna_rx *rx, int vlan_id)
 
void bna_rx_vlan_del (struct bna_rx *rx, int vlan_id)
 
void bna_rx_vlanfilter_enable (struct bna_rx *rx)
 
int bna_enet_mtu_get (struct bna_enet *enet)
 
void bna_enet_cb_tx_stopped (struct bna_enet *enet)
 
void bna_enet_cb_rx_stopped (struct bna_enet *enet)
 
void bna_enet_enable (struct bna_enet *enet)
 
void bna_enet_disable (struct bna_enet *enet, enum bna_cleanup_type type, void(*cbfn)(void *))
 
void bna_enet_pause_config (struct bna_enet *enet, struct bna_pause_config *pause_config, void(*cbfn)(struct bnad *))
 
void bna_enet_mtu_set (struct bna_enet *enet, int mtu, void(*cbfn)(struct bnad *))
 
void bna_enet_perm_mac_get (struct bna_enet *enet, mac_t *mac)
 
void bna_ioceth_enable (struct bna_ioceth *ioceth)
 
void bna_ioceth_disable (struct bna_ioceth *ioceth, enum bna_cleanup_type type)
 
void bnad_cb_ethport_link_status (struct bnad *bnad, enum bna_link_status status)
 
void bnad_cb_ioceth_ready (struct bnad *bnad)
 
void bnad_cb_ioceth_failed (struct bnad *bnad)
 
void bnad_cb_ioceth_disabled (struct bnad *bnad)
 
void bnad_cb_mbox_intr_enable (struct bnad *bnad)
 
void bnad_cb_mbox_intr_disable (struct bnad *bnad)
 
void bnad_cb_stats_get (struct bnad *bnad, enum bna_cb_status status, struct bna_stats *stats)
 

Variables

const u32 bna_napi_dim_vector [][BNA_BIAS_T_MAX]
 

Macro Definition Documentation

#define allmulti_disable (   mode,
  bitmask 
)    xxx_disable(mode, bitmask, BNA_RXMODE_ALLMULTI)

Definition at line 298 of file bna.h.

#define allmulti_enable (   mode,
  bitmask 
)    xxx_enable(mode, bitmask, BNA_RXMODE_ALLMULTI)

Definition at line 295 of file bna.h.

#define allmulti_inactive (   mode,
  bitmask 
)    xxx_inactive(mode, bitmask, BNA_RXMODE_ALLMULTI)

Definition at line 301 of file bna.h.

#define bna_attr (   _bna)    (&(_bna)->ioceth.attr)

Definition at line 370 of file bna.h.

#define BNA_CQ_PAGE_INDEX_MAX   (PAGE_SIZE >> 4)

Definition at line 118 of file bna.h.

#define BNA_CQ_PAGE_INDEX_MAX_SHIFT   (PAGE_SHIFT - 4)

Definition at line 119 of file bna.h.

#define BNA_CQ_QPGE_PTR_GET (   _qe_idx,
  _qpt_ptr,
  _qe_ptr,
  _qe_ptr_range 
)
Value:
{ \
unsigned int page_index; /* index within a page */ \
void *page_addr; \
\
page_index = (_qe_idx) & (BNA_CQ_PAGE_INDEX_MAX - 1); \
(_qe_ptr_range) = (BNA_CQ_PAGE_INDEX_MAX - page_index); \
page_addr = (_qpt_ptr)[((_qe_idx) >> \
BNA_CQ_PAGE_INDEX_MAX_SHIFT)]; \
(_qe_ptr) = &((struct bna_cq_entry *)(page_addr))[page_index];\
}

Definition at line 121 of file bna.h.

#define BNA_GET_DMA_ADDR (   _bna_dma_addr,
  _addr 
)
Value:
do { \
(_addr) = ((((u64)ntohl((_bna_dma_addr)->msb))) << 32) \
| ((ntohl((_bna_dma_addr)->lsb) & 0xffffffff)); \
} while (0)

Definition at line 76 of file bna.h.

#define BNA_IOC_TIMER_FREQ   200

Definition at line 30 of file bna.h.

#define bna_is_small_rxq (   _id)    ((_id) & 0x1)

Definition at line 35 of file bna.h.

#define BNA_LARGE_PKT_SIZE   1000

Definition at line 172 of file bna.h.

#define BNA_MAC_IS_EQUAL (   _mac1,
  _mac2 
)    (!memcmp((_mac1), (_mac2), sizeof(mac_t)))

Definition at line 37 of file bna.h.

#define BNA_MESSAGE_SIZE   256

Definition at line 33 of file bna.h.

#define BNA_POWER_OF_2 (   x)    (((x) & ((x) - 1)) == 0)

Definition at line 40 of file bna.h.

#define BNA_Q_CI_ADD (   _q_ptr,
  _num 
)
Value:
(_q_ptr)->q.consumer_index = \
(((_q_ptr)->q.consumer_index + (_num)) \
& ((_q_ptr)->q.q_depth - 1))

Definition at line 161 of file bna.h.

#define BNA_Q_FREE_COUNT (   _q_ptr)    (BNA_QE_FREE_CNT(&((_q_ptr)->q), (_q_ptr)->q.q_depth))

Definition at line 166 of file bna.h.

#define BNA_Q_GET_CI (   _q_ptr)    ((_q_ptr)->q.consumer_index)

Definition at line 152 of file bna.h.

#define BNA_Q_GET_PI (   _q_ptr)    ((_q_ptr)->q.producer_index)

Definition at line 154 of file bna.h.

#define BNA_Q_IN_USE_COUNT (   _q_ptr)    (BNA_QE_IN_USE_CNT(&(_q_ptr)->q, (_q_ptr)->q.q_depth))

Definition at line 169 of file bna.h.

#define BNA_Q_INDEX_CHANGE (   _old_idx,
  _updated_idx,
  _q_depth 
)    (((_updated_idx) - (_old_idx)) & ((_q_depth) - 1))

Definition at line 141 of file bna.h.

#define BNA_Q_PI_ADD (   _q_ptr,
  _num 
)
Value:
(_q_ptr)->q.producer_index = \
(((_q_ptr)->q.producer_index + (_num)) & \
((_q_ptr)->q.q_depth - 1))

Definition at line 156 of file bna.h.

#define BNA_QE_FREE_CNT (   _q_ptr,
  _q_depth 
)
Value:
(((_q_ptr)->consumer_index - (_q_ptr)->producer_index - 1) & \
((_q_depth) - 1))

Definition at line 144 of file bna.h.

#define BNA_QE_IN_USE_CNT (   _q_ptr,
  _q_depth 
)
Value:
((((_q_ptr)->producer_index - (_q_ptr)->consumer_index)) & \
(_q_depth - 1))

Definition at line 148 of file bna.h.

#define BNA_QE_INDX_2_PTR (   _cast,
  _qe_idx,
  _q_base 
)    (&((_cast *)(_q_base))[(_qe_idx)])

Definition at line 133 of file bna.h.

#define BNA_QE_INDX_ADD (   _qe_idx,
  _qe_num,
  _q_depth 
)    ((_qe_idx) = ((_qe_idx) + (_qe_num)) & ((_q_depth) - 1))

Definition at line 138 of file bna.h.

#define BNA_QE_INDX_RANGE (   _qe_idx,
  _q_depth 
)    ((_q_depth) - (_qe_idx))

Definition at line 136 of file bna.h.

#define bna_rx_from_rid (   _bna,
  _rid,
  _rx 
)
Value:
do { \
struct bna_rx_mod *__rx_mod = &(_bna)->rx_mod; \
_rx = NULL; \
list_for_each(qe, &__rx_mod->rx_active_q) { \
__rx = (struct bna_rx *)qe; \
if (__rx->rid == (_rid)) { \
(_rx) = __rx; \
break; \
} \
} \
} while (0)

Definition at line 340 of file bna.h.

#define bna_rx_rid_mask (   _bna)    ((_bna)->rx_mod.rid_mask)

Definition at line 323 of file bna.h.

#define BNA_RXQ_PAGE_INDEX_MAX   (PAGE_SIZE >> 3)

Definition at line 103 of file bna.h.

#define BNA_RXQ_PAGE_INDEX_MAX_SHIFT   (PAGE_SHIFT - 3)

Definition at line 104 of file bna.h.

#define BNA_RXQ_QPGE_PTR_GET (   _qe_idx,
  _qpt_ptr,
  _qe_ptr,
  _qe_ptr_range 
)
Value:
{ \
unsigned int page_index; /* index within a page */ \
void *page_addr; \
page_index = (_qe_idx) & (BNA_RXQ_PAGE_INDEX_MAX - 1); \
(_qe_ptr_range) = (BNA_RXQ_PAGE_INDEX_MAX - page_index); \
page_addr = (_qpt_ptr)[((_qe_idx) >> \
BNA_RXQ_PAGE_INDEX_MAX_SHIFT)]; \
(_qe_ptr) = &((struct bna_rxq_entry *)(page_addr))[page_index]; \
}

Definition at line 106 of file bna.h.

#define BNA_SET_DMA_ADDR (   _addr,
  _bna_dma_addr 
)
Value:
do { \
u64 tmp_addr = \
cpu_to_be64((u64)(_addr)); \
(_bna_dma_addr)->msb = ((struct bna_dma_addr *)&tmp_addr)->msb; \
(_bna_dma_addr)->lsb = ((struct bna_dma_addr *)&tmp_addr)->lsb; \
} while (0)

Definition at line 64 of file bna.h.

#define BNA_TO_POWER_OF_2 (   x)
Value:
do { \
int _shift = 0; \
while ((x) && (x) != 1) { \
(x) >>= 1; \
_shift++; \
} \
(x) <<= _shift; \
} while (0)

Definition at line 42 of file bna.h.

#define BNA_TO_POWER_OF_2_HIGH (   x)
Value:
do { \
int n = 1; \
while (n < (x)) \
n <<= 1; \
(x) = n; \
} while (0)

Definition at line 52 of file bna.h.

#define bna_tx_from_rid (   _bna,
  _rid,
  _tx 
)
Value:
do { \
struct bna_tx_mod *__tx_mod = &(_bna)->tx_mod; \
_tx = NULL; \
list_for_each(qe, &__tx_mod->tx_active_q) { \
__tx = (struct bna_tx *)qe; \
if (__tx->rid == (_rid)) { \
(_tx) = __tx; \
break; \
} \
} \
} while (0)

Definition at line 325 of file bna.h.

#define bna_tx_rid_mask (   _bna)    ((_bna)->tx_mod.rid_mask)

Definition at line 321 of file bna.h.

#define BNA_TXQ_PAGE_INDEX_MAX   (PAGE_SIZE >> 6)

Definition at line 89 of file bna.h.

#define BNA_TXQ_PAGE_INDEX_MAX_SHIFT   (PAGE_SHIFT - 6)

Definition at line 90 of file bna.h.

#define BNA_TXQ_QPGE_PTR_GET (   _qe_idx,
  _qpt_ptr,
  _qe_ptr,
  _qe_ptr_range 
)
Value:
{ \
unsigned int page_index; /* index within a page */ \
void *page_addr; \
page_index = (_qe_idx) & (BNA_TXQ_PAGE_INDEX_MAX - 1); \
(_qe_ptr_range) = (BNA_TXQ_PAGE_INDEX_MAX - page_index); \
page_addr = (_qpt_ptr)[((_qe_idx) >> BNA_TXQ_PAGE_INDEX_MAX_SHIFT)];\
(_qe_ptr) = &((struct bna_txq_entry *)(page_addr))[page_index]; \
}

Definition at line 92 of file bna.h.

#define BNA_TXQ_WI_NEEDED (   _vectors)    (((_vectors) + 3) >> 2)

Definition at line 86 of file bna.h.

#define BNA_UPDATE_PKT_CNT (   _pkt,
  _len 
)
Value:
do { \
if ((_len) > BNA_LARGE_PKT_SIZE) { \
(_pkt)->large_pkt_cnt++; \
} else { \
(_pkt)->small_pkt_cnt++; \
} \
} while (0)

Definition at line 174 of file bna.h.

#define call_rxf_cam_fltr_cbfn (   rxf)
Value:
do { \
if ((rxf)->cam_fltr_cbfn) { \
void (*cbfn)(struct bnad *, struct bna_rx *); \
struct bnad *cbarg; \
cbfn = (rxf)->cam_fltr_cbfn; \
cbarg = (rxf)->cam_fltr_cbarg; \
(rxf)->cam_fltr_cbfn = NULL; \
(rxf)->cam_fltr_cbarg = NULL; \
cbfn(cbarg, rxf->rx); \
} \
} while (0)

Definition at line 209 of file bna.h.

#define call_rxf_pause_cbfn (   rxf)
Value:
do { \
if ((rxf)->oper_state_cbfn) { \
void (*cbfn)(struct bnad *, struct bna_rx *); \
struct bnad *cbarg; \
cbfn = (rxf)->oper_state_cbfn; \
cbarg = (rxf)->oper_state_cbarg; \
(rxf)->oper_state_cbfn = NULL; \
(rxf)->oper_state_cbarg = NULL; \
cbfn(cbarg, rxf->rx); \
} \
} while (0)

Definition at line 222 of file bna.h.

#define call_rxf_resume_cbfn (   rxf)    call_rxf_pause_cbfn(rxf)

Definition at line 235 of file bna.h.

#define call_rxf_start_cbfn (   rxf)
Value:
do { \
if ((rxf)->start_cbfn) { \
void (*cbfn)(struct bna_rx *); \
struct bna_rx *cbarg; \
cbfn = (rxf)->start_cbfn; \
cbarg = (rxf)->start_cbarg; \
(rxf)->start_cbfn = NULL; \
(rxf)->start_cbarg = NULL; \
cbfn(cbarg); \
} \
} while (0)

Definition at line 196 of file bna.h.

#define call_rxf_stop_cbfn (   rxf)
Value:
do { \
if ((rxf)->stop_cbfn) { \
void (*cbfn)(struct bna_rx *); \
struct bna_rx *cbarg; \
cbfn = (rxf)->stop_cbfn; \
cbarg = (rxf)->stop_cbarg; \
(rxf)->stop_cbfn = NULL; \
cbfn(cbarg); \
} \
} while (0)

Definition at line 183 of file bna.h.

#define containing_rec (   addr,
  type,
  field 
)
Value:
((type *)((unsigned char *)(addr) - \
(unsigned char *)(&((type *)0)->field)))

Definition at line 82 of file bna.h.

#define default_disable (   mode,
  bitmask 
)    xxx_disable(mode, bitmask, BNA_RXMODE_DEFAULT)

Definition at line 283 of file bna.h.

#define default_enable (   mode,
  bitmask 
)    xxx_enable(mode, bitmask, BNA_RXMODE_DEFAULT)

Definition at line 280 of file bna.h.

#define default_inactive (   mode,
  bitmask 
)    xxx_inactive(mode, bitmask, BNA_RXMODE_DEFAULT)

Definition at line 286 of file bna.h.

#define GET_RXQS (   rxp,
  q0,
  q1 
)
Value:
do { \
switch ((rxp)->type) { \
(q0) = rxp->rxq.single.only; \
(q1) = NULL; \
break; \
case BNA_RXP_SLR: \
(q0) = rxp->rxq.slr.large; \
(q1) = rxp->rxq.slr.small; \
break; \
case BNA_RXP_HDS: \
(q0) = rxp->rxq.hds.data; \
(q1) = rxp->rxq.hds.hdr; \
break; \
} \
} while (0)

Definition at line 304 of file bna.h.

#define is_allmulti_disable (   mode,
  bitmask 
)    is_xxx_disable(mode, bitmask, BNA_RXMODE_ALLMULTI)

Definition at line 292 of file bna.h.

#define is_allmulti_enable (   mode,
  bitmask 
)    is_xxx_enable(mode, bitmask, BNA_RXMODE_ALLMULTI)

Definition at line 289 of file bna.h.

#define is_default_disable (   mode,
  bitmask 
)    is_xxx_disable(mode, bitmask, BNA_RXMODE_DEFAULT)

Definition at line 277 of file bna.h.

#define is_default_enable (   mode,
  bitmask 
)    is_xxx_enable(mode, bitmask, BNA_RXMODE_DEFAULT)

Definition at line 274 of file bna.h.

#define is_promisc_disable (   mode,
  bitmask 
)    is_xxx_disable(mode, bitmask, BNA_RXMODE_PROMISC)

Definition at line 262 of file bna.h.

#define is_promisc_enable (   mode,
  bitmask 
)    is_xxx_enable(mode, bitmask, BNA_RXMODE_PROMISC)

Definition at line 259 of file bna.h.

#define is_xxx_disable (   mode,
  bitmask,
  xxx 
)    ((bitmask & xxx) && !(mode & xxx))

Definition at line 239 of file bna.h.

#define is_xxx_enable (   mode,
  bitmask,
  xxx 
)    ((bitmask & xxx) && (mode & xxx))

Definition at line 237 of file bna.h.

#define promisc_disable (   mode,
  bitmask 
)    xxx_disable(mode, bitmask, BNA_RXMODE_PROMISC)

Definition at line 268 of file bna.h.

#define promisc_enable (   mode,
  bitmask 
)    xxx_enable(mode, bitmask, BNA_RXMODE_PROMISC)

Definition at line 265 of file bna.h.

#define promisc_inactive (   mode,
  bitmask 
)    xxx_inactive(mode, bitmask, BNA_RXMODE_PROMISC)

Definition at line 271 of file bna.h.

#define xxx_disable (   mode,
  bitmask,
  xxx 
)
Value:
do { \
bitmask |= xxx; \
mode &= ~xxx; \
} while (0)

Definition at line 247 of file bna.h.

#define xxx_enable (   mode,
  bitmask,
  xxx 
)
Value:
do { \
bitmask |= xxx; \
mode |= xxx; \
} while (0)

Definition at line 241 of file bna.h.

#define xxx_inactive (   mode,
  bitmask,
  xxx 
)
Value:
do { \
bitmask &= ~xxx; \
mode &= ~xxx; \
} while (0)

Definition at line 253 of file bna.h.

Function Documentation

void bna_bfi_bw_update_aen ( struct bna_tx_mod tx_mod)

Definition at line 3390 of file bna_tx_rx.c.

void bna_bfi_rx_enet_start_rsp ( struct bna_rx rx,
struct bfi_msgq_mhdr msghdr 
)

Definition at line 2142 of file bna_tx_rx.c.

void bna_bfi_rx_enet_stop_rsp ( struct bna_rx rx,
struct bfi_msgq_mhdr msghdr 
)

Definition at line 2189 of file bna_tx_rx.c.

void bna_bfi_rxf_cfg_rsp ( struct bna_rxf rxf,
struct bfi_msgq_mhdr msghdr 
)

Definition at line 708 of file bna_tx_rx.c.

void bna_bfi_rxf_mcast_add_rsp ( struct bna_rxf rxf,
struct bfi_msgq_mhdr msghdr 
)

Definition at line 714 of file bna_tx_rx.c.

void bna_bfi_stats_clr_rsp ( struct bna bna,
struct bfi_msgq_mhdr msghdr 
)
void bna_bfi_tx_enet_start_rsp ( struct bna_tx tx,
struct bfi_msgq_mhdr msghdr 
)

Definition at line 3350 of file bna_tx_rx.c.

void bna_bfi_tx_enet_stop_rsp ( struct bna_tx tx,
struct bfi_msgq_mhdr msghdr 
)

Definition at line 3384 of file bna_tx_rx.c.

void bna_enet_cb_rx_stopped ( struct bna_enet enet)

Definition at line 1260 of file bna_enet.c.

void bna_enet_cb_tx_stopped ( struct bna_enet enet)

Definition at line 1254 of file bna_enet.c.

void bna_enet_disable ( struct bna_enet enet,
enum bna_cleanup_type  type,
void(*)(void *)  cbfn 
)

Definition at line 1284 of file bna_enet.c.

void bna_enet_enable ( struct bna_enet enet)

Definition at line 1272 of file bna_enet.c.

int bna_enet_mtu_get ( struct bna_enet enet)

Definition at line 1266 of file bna_enet.c.

void bna_enet_mtu_set ( struct bna_enet enet,
int  mtu,
void(*)(struct bnad *)  cbfn 
)

Definition at line 1313 of file bna_enet.c.

void bna_enet_pause_config ( struct bna_enet enet,
struct bna_pause_config pause_config,
void(*)(struct bnad *)  cbfn 
)

Definition at line 1301 of file bna_enet.c.

void bna_enet_perm_mac_get ( struct bna_enet enet,
mac_t mac 
)

Definition at line 1324 of file bna_enet.c.

void bna_ethport_cb_rx_started ( struct bna_ethport ethport)

Definition at line 779 of file bna_enet.c.

void bna_ethport_cb_rx_stopped ( struct bna_ethport ethport)

Definition at line 792 of file bna_enet.c.

void bna_hw_stats_get ( struct bna bna)

Definition at line 2136 of file bna_enet.c.

void bna_init ( struct bna bna,
struct bnad bnad,
struct bfa_pcidev pcidev,
struct bna_res_info res_info 
)

Definition at line 1994 of file bna_enet.c.

void bna_ioceth_disable ( struct bna_ioceth ioceth,
enum bna_cleanup_type  type 
)

Definition at line 1781 of file bna_enet.c.

void bna_ioceth_enable ( struct bna_ioceth ioceth)

Definition at line 1769 of file bna_enet.c.

void bna_mbox_handler ( struct bna bna,
u32  intr_status 
)

Definition at line 266 of file bna_enet.c.

struct bna_mcam_handle* bna_mcam_mod_handle_get ( struct bna_mcam_mod mod)
read

Definition at line 2116 of file bna_enet.c.

void bna_mcam_mod_handle_put ( struct bna_mcam_mod mcam_mod,
struct bna_mcam_handle handle 
)

Definition at line 2129 of file bna_enet.c.

struct bna_mac* bna_mcam_mod_mac_get ( struct bna_mcam_mod mcam_mod)
read

Definition at line 2097 of file bna_enet.c.

void bna_mcam_mod_mac_put ( struct bna_mcam_mod mcam_mod,
struct bna_mac mac 
)

Definition at line 2110 of file bna_enet.c.

void bna_mod_init ( struct bna bna,
struct bna_res_info res_info 
)

Definition at line 2017 of file bna_enet.c.

void bna_mod_res_req ( struct bna bna,
struct bna_res_info res_info 
)

Definition at line 1924 of file bna_enet.c.

int bna_num_rxp_set ( struct bna bna,
int  num_rxp 
)

Definition at line 2066 of file bna_enet.c.

int bna_num_txq_set ( struct bna bna,
int  num_txq 
)

Definition at line 2054 of file bna_enet.c.

void bna_res_req ( struct bna_res_info res_info)

Definition at line 1890 of file bna_enet.c.

void bna_rx_cleanup_complete ( struct bna_rx rx)

Definition at line 2616 of file bna_tx_rx.c.

void bna_rx_coalescing_timeo_set ( struct bna_rx rx,
int  coalescing_timeo 
)

Definition at line 2704 of file bna_tx_rx.c.

struct bna_rx* bna_rx_create ( struct bna bna,
struct bnad bnad,
struct bna_rx_config rx_cfg,
const struct bna_rx_event_cbfn rx_cbfn,
struct bna_res_info res_info,
void priv 
)
read

Definition at line 2310 of file bna_tx_rx.c.

void bna_rx_destroy ( struct bna_rx rx)

Definition at line 2534 of file bna_tx_rx.c.

void bna_rx_dim_reconfig ( struct bna bna,
const u32  vector[][BNA_BIAS_T_MAX] 
)

Definition at line 2717 of file bna_tx_rx.c.

void bna_rx_dim_update ( struct bna_ccb ccb)

Definition at line 2727 of file bna_tx_rx.c.

void bna_rx_disable ( struct bna_rx rx,
enum bna_cleanup_type  type,
void(*)(void *, struct bna_rx *)  cbfn 
)

Definition at line 2599 of file bna_tx_rx.c.

void bna_rx_enable ( struct bna_rx rx)

Definition at line 2588 of file bna_tx_rx.c.

enum bna_cb_status bna_rx_mcast_add ( struct bna_rx rx,
u8 mcmac,
void(*)(struct bnad *, struct bna_rx *)  cbfn 
)

Definition at line 874 of file bna_tx_rx.c.

enum bna_cb_status bna_rx_mcast_listset ( struct bna_rx rx,
int  count,
u8 mcmac,
void(*)(struct bnad *, struct bna_rx *)  cbfn 
)

Definition at line 904 of file bna_tx_rx.c.

void bna_rx_mod_fail ( struct bna_rx_mod rx_mod)

Definition at line 2047 of file bna_tx_rx.c.

void bna_rx_mod_init ( struct bna_rx_mod rx_mod,
struct bna bna,
struct bna_res_info res_info 
)

Definition at line 2061 of file bna_tx_rx.c.

void bna_rx_mod_start ( struct bna_rx_mod rx_mod,
enum bna_rx_type  type 
)

Definition at line 2006 of file bna_tx_rx.c.

void bna_rx_mod_stop ( struct bna_rx_mod rx_mod,
enum bna_rx_type  type 
)

Definition at line 2023 of file bna_tx_rx.c.

void bna_rx_mod_uninit ( struct bna_rx_mod rx_mod)

Definition at line 2121 of file bna_tx_rx.c.

enum bna_cb_status bna_rx_mode_set ( struct bna_rx rx,
enum bna_rxmode  rxmode,
enum bna_rxmode  bitmask,
void(*)(struct bnad *, struct bna_rx *)  cbfn 
)

Definition at line 2622 of file bna_tx_rx.c.

void bna_rx_res_req ( struct bna_rx_config rx_config,
struct bna_res_info res_info 
)

Definition at line 2195 of file bna_tx_rx.c.

enum bna_cb_status bna_rx_ucast_add ( struct bna_rx rx,
u8 ucmac,
void(*)(struct bnad *, struct bna_rx *)  cbfn 
)
enum bna_cb_status bna_rx_ucast_del ( struct bna_rx rx,
u8 ucmac,
void(*)(struct bnad *, struct bna_rx *)  cbfn 
)
enum bna_cb_status bna_rx_ucast_set ( struct bna_rx rx,
u8 ucmac,
void(*)(struct bnad *, struct bna_rx *)  cbfn 
)

Definition at line 850 of file bna_tx_rx.c.

void bna_rx_vlan_add ( struct bna_rx rx,
int  vlan_id 
)

Definition at line 969 of file bna_tx_rx.c.

void bna_rx_vlan_del ( struct bna_rx rx,
int  vlan_id 
)

Definition at line 984 of file bna_tx_rx.c.

void bna_rx_vlanfilter_enable ( struct bna_rx rx)

Definition at line 2692 of file bna_tx_rx.c.

void bna_tx_cleanup_complete ( struct bna_tx tx)

Definition at line 3652 of file bna_tx_rx.c.

void bna_tx_coalescing_timeo_set ( struct bna_tx tx,
int  coalescing_timeo 
)

Definition at line 3782 of file bna_tx_rx.c.

struct bna_tx* bna_tx_create ( struct bna bna,
struct bnad bnad,
struct bna_tx_config tx_cfg,
const struct bna_tx_event_cbfn tx_cbfn,
struct bna_res_info res_info,
void priv 
)
read

Get resources

Definition at line 3449 of file bna_tx_rx.c.

void bna_tx_destroy ( struct bna_tx tx)

Definition at line 3607 of file bna_tx_rx.c.

void bna_tx_disable ( struct bna_tx tx,
enum bna_cleanup_type  type,
void(*)(void *, struct bna_tx *)  cbfn 
)

Definition at line 3635 of file bna_tx_rx.c.

void bna_tx_enable ( struct bna_tx tx)

Definition at line 3623 of file bna_tx_rx.c.

void bna_tx_mod_fail ( struct bna_tx_mod tx_mod)

Definition at line 3767 of file bna_tx_rx.c.

void bna_tx_mod_init ( struct bna_tx_mod tx_mod,
struct bna bna,
struct bna_res_info res_info 
)

Definition at line 3676 of file bna_tx_rx.c.

void bna_tx_mod_start ( struct bna_tx_mod tx_mod,
enum bna_tx_type  type 
)

Definition at line 3726 of file bna_tx_rx.c.

void bna_tx_mod_stop ( struct bna_tx_mod tx_mod,
enum bna_tx_type  type 
)

Definition at line 3743 of file bna_tx_rx.c.

void bna_tx_mod_uninit ( struct bna_tx_mod tx_mod)

Definition at line 3709 of file bna_tx_rx.c.

void bna_tx_res_req ( int  num_txq,
int  txq_depth,
struct bna_res_info res_info 
)

Definition at line 3402 of file bna_tx_rx.c.

struct bna_mac* bna_ucam_mod_mac_get ( struct bna_ucam_mod ucam_mod)
read

Definition at line 2078 of file bna_enet.c.

void bna_ucam_mod_mac_put ( struct bna_ucam_mod ucam_mod,
struct bna_mac mac 
)

Definition at line 2091 of file bna_enet.c.

void bna_uninit ( struct bna bna)

Definition at line 2034 of file bna_enet.c.

void bnad_cb_ethport_link_status ( struct bnad bnad,
enum bna_link_status  status 
)

Definition at line 685 of file bnad.c.

void bnad_cb_ioceth_disabled ( struct bnad bnad)

Definition at line 669 of file bnad.c.

void bnad_cb_ioceth_failed ( struct bnad bnad)

Definition at line 662 of file bnad.c.

void bnad_cb_ioceth_ready ( struct bnad bnad)

Definition at line 655 of file bnad.c.

void bnad_cb_mbox_intr_disable ( struct bnad bnad)

Definition at line 649 of file bnad.c.

void bnad_cb_mbox_intr_enable ( struct bnad bnad)

Definition at line 643 of file bnad.c.

void bnad_cb_stats_get ( struct bnad bnad,
enum bna_cb_status  status,
struct bna_stats stats 
)

Definition at line 1075 of file bnad.c.

Variable Documentation

const u32 bna_napi_dim_vector[][BNA_BIAS_T_MAX]

Definition at line 2777 of file bna_tx_rx.c.