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

Go to the source code of this file.

Macros

#define ethport_is_up   ethport_can_be_up
 
#define bna_stats_copy(_name, _type)
 
#define call_ethport_stop_cbfn(_ethport)
 
#define call_ethport_adminup_cbfn(ethport, status)
 
#define bna_enet_chld_start(enet)
 
#define bna_enet_chld_stop(enet)
 
#define bna_enet_chld_fail(enet)
 
#define bna_enet_rx_start(enet)
 
#define bna_enet_rx_stop(enet)
 
#define call_enet_stop_cbfn(enet)
 
#define call_enet_pause_cbfn(enet)
 
#define call_enet_mtu_cbfn(enet)
 
#define enable_mbox_intr(_ioceth)
 
#define disable_mbox_intr(_ioceth)
 
#define call_ioceth_stop_cbfn(_ioceth)
 
#define bna_stats_mod_uninit(_stats_mod)
 
#define bna_stats_mod_start(_stats_mod)
 
#define bna_stats_mod_stop(_stats_mod)
 
#define bna_stats_mod_fail(_stats_mod)
 

Enumerations

enum  bna_ethport_event {
  ETHPORT_E_START = 1, ETHPORT_E_STOP = 2, ETHPORT_E_FAIL = 3, ETHPORT_E_UP = 4,
  ETHPORT_E_DOWN = 5, ETHPORT_E_FWRESP_UP_OK = 6, ETHPORT_E_FWRESP_DOWN = 7, ETHPORT_E_FWRESP_UP_FAIL = 8
}
 
enum  bna_enet_event {
  ENET_E_START = 1, ENET_E_STOP = 2, ENET_E_FAIL = 3, ENET_E_PAUSE_CFG = 4,
  ENET_E_MTU_CFG = 5, ENET_E_FWRESP_PAUSE = 6, ENET_E_CHLD_STOPPED = 7
}
 
enum  bna_ioceth_event {
  IOCETH_E_ENABLE = 1, IOCETH_E_DISABLE = 2, IOCETH_E_IOC_RESET = 3, IOCETH_E_IOC_FAILED = 4,
  IOCETH_E_IOC_READY = 5, IOCETH_E_ENET_ATTR_RESP = 6, IOCETH_E_ENET_STOPPED = 7, IOCETH_E_IOC_DISABLED = 8
}
 

Functions

void bna_mbox_handler (struct bna *bna, u32 intr_status)
 
 bfa_fsm_state_decl (bna_ethport, stopped, struct bna_ethport, enum bna_ethport_event)
 
 bfa_fsm_state_decl (bna_ethport, down, struct bna_ethport, enum bna_ethport_event)
 
 bfa_fsm_state_decl (bna_ethport, up_resp_wait, struct bna_ethport, enum bna_ethport_event)
 
 bfa_fsm_state_decl (bna_ethport, down_resp_wait, struct bna_ethport, enum bna_ethport_event)
 
 bfa_fsm_state_decl (bna_ethport, up, struct bna_ethport, enum bna_ethport_event)
 
 bfa_fsm_state_decl (bna_ethport, last_resp_wait, struct bna_ethport, enum bna_ethport_event)
 
void bna_ethport_cb_rx_started (struct bna_ethport *ethport)
 
void bna_ethport_cb_rx_stopped (struct bna_ethport *ethport)
 
 bfa_fsm_state_decl (bna_enet, stopped, struct bna_enet, enum bna_enet_event)
 
 bfa_fsm_state_decl (bna_enet, pause_init_wait, struct bna_enet, enum bna_enet_event)
 
 bfa_fsm_state_decl (bna_enet, last_resp_wait, struct bna_enet, enum bna_enet_event)
 
 bfa_fsm_state_decl (bna_enet, started, struct bna_enet, enum bna_enet_event)
 
 bfa_fsm_state_decl (bna_enet, cfg_wait, struct bna_enet, enum bna_enet_event)
 
 bfa_fsm_state_decl (bna_enet, cfg_stop_wait, struct bna_enet, enum bna_enet_event)
 
 bfa_fsm_state_decl (bna_enet, chld_stop_wait, struct bna_enet, enum bna_enet_event)
 
void bna_enet_cb_tx_stopped (struct bna_enet *enet)
 
void bna_enet_cb_rx_stopped (struct bna_enet *enet)
 
int bna_enet_mtu_get (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)
 
 bfa_fsm_state_decl (bna_ioceth, stopped, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, ioc_ready_wait, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, enet_attr_wait, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, ready, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, last_resp_wait, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, enet_stop_wait, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, ioc_disable_wait, struct bna_ioceth, enum bna_ioceth_event)
 
 bfa_fsm_state_decl (bna_ioceth, failed, struct bna_ioceth, enum bna_ioceth_event)
 
void bna_ioceth_enable (struct bna_ioceth *ioceth)
 
void bna_ioceth_disable (struct bna_ioceth *ioceth, enum bna_cleanup_type type)
 
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)
 
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 *mcam_mod)
 
void bna_mcam_mod_handle_put (struct bna_mcam_mod *mcam_mod, struct bna_mcam_handle *handle)
 
void bna_hw_stats_get (struct bna *bna)
 

Macro Definition Documentation

#define bna_enet_chld_fail (   enet)
Value:
do { \
bna_ethport_fail(&(enet)->bna->ethport); \
bna_tx_mod_fail(&(enet)->bna->tx_mod); \
bna_rx_mod_fail(&(enet)->bna->rx_mod); \
} while (0)

Definition at line 839 of file bna_enet.c.

#define bna_enet_chld_start (   enet)
Value:
do { \
enum bna_tx_type tx_type = \
BNA_TX_T_REGULAR : BNA_TX_T_LOOPBACK; \
enum bna_rx_type rx_type = \
BNA_RX_T_REGULAR : BNA_RX_T_LOOPBACK; \
bna_ethport_start(&(enet)->bna->ethport); \
bna_tx_mod_start(&(enet)->bna->tx_mod, tx_type); \
bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
} while (0)

Definition at line 808 of file bna_enet.c.

#define bna_enet_chld_stop (   enet)
Value:
do { \
enum bna_tx_type tx_type = \
BNA_TX_T_REGULAR : BNA_TX_T_LOOPBACK; \
enum bna_rx_type rx_type = \
BNA_RX_T_REGULAR : BNA_RX_T_LOOPBACK; \
bfa_wc_init(&(enet)->chld_stop_wc, bna_enet_cb_chld_stopped, (enet));\
bfa_wc_up(&(enet)->chld_stop_wc); \
bna_ethport_stop(&(enet)->bna->ethport); \
bfa_wc_up(&(enet)->chld_stop_wc); \
bna_tx_mod_stop(&(enet)->bna->tx_mod, tx_type); \
bfa_wc_up(&(enet)->chld_stop_wc); \
bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
bfa_wc_wait(&(enet)->chld_stop_wc); \
} while (0)

Definition at line 821 of file bna_enet.c.

#define bna_enet_rx_start (   enet)
Value:
do { \
enum bna_rx_type rx_type = \
BNA_RX_T_REGULAR : BNA_RX_T_LOOPBACK; \
bna_rx_mod_start(&(enet)->bna->rx_mod, rx_type); \
} while (0)

Definition at line 846 of file bna_enet.c.

#define bna_enet_rx_stop (   enet)
Value:
do { \
enum bna_rx_type rx_type = \
BNA_RX_T_REGULAR : BNA_RX_T_LOOPBACK; \
bfa_wc_init(&(enet)->chld_stop_wc, bna_enet_cb_chld_stopped, (enet));\
bfa_wc_up(&(enet)->chld_stop_wc); \
bna_rx_mod_stop(&(enet)->bna->rx_mod, rx_type); \
bfa_wc_wait(&(enet)->chld_stop_wc); \
} while (0)

Definition at line 854 of file bna_enet.c.

#define bna_stats_copy (   _name,
  _type 
)
Value:
do { \
count = sizeof(struct bfi_enet_stats_ ## _type) / sizeof(u64); \
stats_src = (u64 *)&bna->stats.hw_stats_kva->_name ## _stats; \
stats_dst = (u64 *)&bna->stats.hw_stats._name ## _stats; \
for (i = 0; i < count; i++) \
stats_dst[i] = be64_to_cpu(stats_src[i]); \
} while (0) \

Definition at line 69 of file bna_enet.c.

#define bna_stats_mod_fail (   _stats_mod)
Value:
do { \
(_stats_mod)->ioc_ready = false; \
(_stats_mod)->stats_get_busy = false; \
(_stats_mod)->stats_clr_busy = false; \
} while (0)

Definition at line 1372 of file bna_enet.c.

#define bna_stats_mod_start (   _stats_mod)
Value:
do { \
(_stats_mod)->ioc_ready = true; \
} while (0)

Definition at line 1362 of file bna_enet.c.

#define bna_stats_mod_stop (   _stats_mod)
Value:
do { \
(_stats_mod)->ioc_ready = false; \
} while (0)

Definition at line 1367 of file bna_enet.c.

#define bna_stats_mod_uninit (   _stats_mod)
Value:
do { \
} while (0)

Definition at line 1358 of file bna_enet.c.

#define call_enet_mtu_cbfn (   enet)
Value:
do { \
if ((enet)->mtu_cbfn) { \
void (*cbfn)(struct bnad *); \
cbfn = (enet)->mtu_cbfn; \
(enet)->mtu_cbfn = NULL; \
cbfn((enet)->bna->bnad); \
} \
} while (0)

Definition at line 888 of file bna_enet.c.

#define call_enet_pause_cbfn (   enet)
Value:
do { \
if ((enet)->pause_cbfn) { \
void (*cbfn)(struct bnad *); \
cbfn = (enet)->pause_cbfn; \
(enet)->pause_cbfn = NULL; \
cbfn((enet)->bna->bnad); \
} \
} while (0)

Definition at line 878 of file bna_enet.c.

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

Definition at line 865 of file bna_enet.c.

#define call_ethport_adminup_cbfn (   ethport,
  status 
)
Value:
do { \
if ((ethport)->adminup_cbfn) { \
void (*cbfn)(struct bnad *, enum bna_cb_status); \
cbfn = (ethport)->adminup_cbfn; \
(ethport)->adminup_cbfn = NULL; \
cbfn((ethport)->bna->bnad, status); \
} \
} while (0)

Definition at line 393 of file bna_enet.c.

#define call_ethport_stop_cbfn (   _ethport)
Value:
do { \
if ((_ethport)->stop_cbfn) { \
void (*cbfn)(struct bna_enet *); \
cbfn = (_ethport)->stop_cbfn; \
(_ethport)->stop_cbfn = NULL; \
cbfn(&(_ethport)->bna->enet); \
} \
} while (0)

Definition at line 383 of file bna_enet.c.

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

Definition at line 1345 of file bna_enet.c.

#define disable_mbox_intr (   _ioceth)
Value:
do { \
bna_mbox_intr_disable((_ioceth)->bna); \
bnad_cb_mbox_intr_disable((_ioceth)->bna->bnad); \
} while (0)

Definition at line 1339 of file bna_enet.c.

#define enable_mbox_intr (   _ioceth)
Value:
do { \
u32 intr_status; \
bna_intr_status_get((_ioceth)->bna, intr_status); \
bnad_cb_mbox_intr_enable((_ioceth)->bna->bnad); \
bna_mbox_intr_enable((_ioceth)->bna); \
} while (0)

Definition at line 1331 of file bna_enet.c.

#define ethport_is_up   ethport_can_be_up

Definition at line 35 of file bna_enet.c.

Enumeration Type Documentation

Enumerator:
ENET_E_START 
ENET_E_STOP 
ENET_E_FAIL 
ENET_E_PAUSE_CFG 
ENET_E_MTU_CFG 
ENET_E_FWRESP_PAUSE 
ENET_E_CHLD_STOPPED 

Definition at line 48 of file bna_enet.c.

Enumerator:
ETHPORT_E_START 
ETHPORT_E_STOP 
ETHPORT_E_FAIL 
ETHPORT_E_UP 
ETHPORT_E_DOWN 
ETHPORT_E_FWRESP_UP_OK 
ETHPORT_E_FWRESP_DOWN 
ETHPORT_E_FWRESP_UP_FAIL 

Definition at line 37 of file bna_enet.c.

Enumerator:
IOCETH_E_ENABLE 
IOCETH_E_DISABLE 
IOCETH_E_IOC_RESET 
IOCETH_E_IOC_FAILED 
IOCETH_E_IOC_READY 
IOCETH_E_ENET_ATTR_RESP 
IOCETH_E_ENET_STOPPED 
IOCETH_E_IOC_DISABLED 

Definition at line 58 of file bna_enet.c.

Function Documentation

bfa_fsm_state_decl ( bna_ethport  ,
stopped  ,
struct bna_ethport  ,
enum  bna_ethport_event 
)
bfa_fsm_state_decl ( bna_ethport  ,
down  ,
struct bna_ethport  ,
enum  bna_ethport_event 
)
bfa_fsm_state_decl ( bna_ethport  ,
up_resp_wait  ,
struct bna_ethport  ,
enum  bna_ethport_event 
)
bfa_fsm_state_decl ( bna_ethport  ,
down_resp_wait  ,
struct bna_ethport  ,
enum  bna_ethport_event 
)
bfa_fsm_state_decl ( bna_ethport  ,
up  ,
struct bna_ethport  ,
enum  bna_ethport_event 
)
bfa_fsm_state_decl ( bna_ethport  ,
last_resp_wait  ,
struct bna_ethport  ,
enum  bna_ethport_event 
)
bfa_fsm_state_decl ( bna_enet  ,
stopped  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_enet  ,
pause_init_wait  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_enet  ,
last_resp_wait  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_enet  ,
started  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_enet  ,
cfg_wait  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_enet  ,
cfg_stop_wait  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_enet  ,
chld_stop_wait  ,
struct bna_enet  ,
enum  bna_enet_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
stopped  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
ioc_ready_wait  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
enet_attr_wait  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
ready  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
last_resp_wait  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
enet_stop_wait  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
ioc_disable_wait  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
bfa_fsm_state_decl ( bna_ioceth  ,
failed  ,
struct bna_ioceth  ,
enum  bna_ioceth_event 
)
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 mcam_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.

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.