diff options
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_main.c')
-rw-r--r-- | drivers/net/bnx2x/bnx2x_main.c | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c index ff99a2fc0426..e9ad16f00b56 100644 --- a/drivers/net/bnx2x/bnx2x_main.c +++ b/drivers/net/bnx2x/bnx2x_main.c | |||
@@ -403,7 +403,7 @@ static inline void storm_memset_hc_disable(struct bnx2x *bp, u8 port, | |||
403 | /* used only at init | 403 | /* used only at init |
404 | * locking is done by mcp | 404 | * locking is done by mcp |
405 | */ | 405 | */ |
406 | void bnx2x_reg_wr_ind(struct bnx2x *bp, u32 addr, u32 val) | 406 | static void bnx2x_reg_wr_ind(struct bnx2x *bp, u32 addr, u32 val) |
407 | { | 407 | { |
408 | pci_write_config_dword(bp->pdev, PCICFG_GRC_ADDRESS, addr); | 408 | pci_write_config_dword(bp->pdev, PCICFG_GRC_ADDRESS, addr); |
409 | pci_write_config_dword(bp->pdev, PCICFG_GRC_DATA, val); | 409 | pci_write_config_dword(bp->pdev, PCICFG_GRC_DATA, val); |
@@ -429,7 +429,8 @@ static u32 bnx2x_reg_rd_ind(struct bnx2x *bp, u32 addr) | |||
429 | #define DMAE_DP_DST_PCI "pci dst_addr [%x:%08x]" | 429 | #define DMAE_DP_DST_PCI "pci dst_addr [%x:%08x]" |
430 | #define DMAE_DP_DST_NONE "dst_addr [none]" | 430 | #define DMAE_DP_DST_NONE "dst_addr [none]" |
431 | 431 | ||
432 | void bnx2x_dp_dmae(struct bnx2x *bp, struct dmae_command *dmae, int msglvl) | 432 | static void bnx2x_dp_dmae(struct bnx2x *bp, struct dmae_command *dmae, |
433 | int msglvl) | ||
433 | { | 434 | { |
434 | u32 src_type = dmae->opcode & DMAE_COMMAND_SRC; | 435 | u32 src_type = dmae->opcode & DMAE_COMMAND_SRC; |
435 | 436 | ||
@@ -551,8 +552,9 @@ u32 bnx2x_dmae_opcode(struct bnx2x *bp, u8 src_type, u8 dst_type, | |||
551 | return opcode; | 552 | return opcode; |
552 | } | 553 | } |
553 | 554 | ||
554 | void bnx2x_prep_dmae_with_comp(struct bnx2x *bp, struct dmae_command *dmae, | 555 | static void bnx2x_prep_dmae_with_comp(struct bnx2x *bp, |
555 | u8 src_type, u8 dst_type) | 556 | struct dmae_command *dmae, |
557 | u8 src_type, u8 dst_type) | ||
556 | { | 558 | { |
557 | memset(dmae, 0, sizeof(struct dmae_command)); | 559 | memset(dmae, 0, sizeof(struct dmae_command)); |
558 | 560 | ||
@@ -567,7 +569,8 @@ void bnx2x_prep_dmae_with_comp(struct bnx2x *bp, struct dmae_command *dmae, | |||
567 | } | 569 | } |
568 | 570 | ||
569 | /* issue a dmae command over the init-channel and wailt for completion */ | 571 | /* issue a dmae command over the init-channel and wailt for completion */ |
570 | int bnx2x_issue_dmae_with_comp(struct bnx2x *bp, struct dmae_command *dmae) | 572 | static int bnx2x_issue_dmae_with_comp(struct bnx2x *bp, |
573 | struct dmae_command *dmae) | ||
571 | { | 574 | { |
572 | u32 *wb_comp = bnx2x_sp(bp, wb_comp); | 575 | u32 *wb_comp = bnx2x_sp(bp, wb_comp); |
573 | int cnt = CHIP_REV_IS_SLOW(bp) ? (400000) : 40; | 576 | int cnt = CHIP_REV_IS_SLOW(bp) ? (400000) : 40; |
@@ -674,8 +677,8 @@ void bnx2x_read_dmae(struct bnx2x *bp, u32 src_addr, u32 len32) | |||
674 | bnx2x_issue_dmae_with_comp(bp, &dmae); | 677 | bnx2x_issue_dmae_with_comp(bp, &dmae); |
675 | } | 678 | } |
676 | 679 | ||
677 | void bnx2x_write_dmae_phys_len(struct bnx2x *bp, dma_addr_t phys_addr, | 680 | static void bnx2x_write_dmae_phys_len(struct bnx2x *bp, dma_addr_t phys_addr, |
678 | u32 addr, u32 len) | 681 | u32 addr, u32 len) |
679 | { | 682 | { |
680 | int dmae_wr_max = DMAE_LEN32_WR_MAX(bp); | 683 | int dmae_wr_max = DMAE_LEN32_WR_MAX(bp); |
681 | int offset = 0; | 684 | int offset = 0; |
@@ -1267,7 +1270,7 @@ static void bnx2x_igu_int_disable(struct bnx2x *bp) | |||
1267 | BNX2X_ERR("BUG! proper val not read from IGU!\n"); | 1270 | BNX2X_ERR("BUG! proper val not read from IGU!\n"); |
1268 | } | 1271 | } |
1269 | 1272 | ||
1270 | void bnx2x_int_disable(struct bnx2x *bp) | 1273 | static void bnx2x_int_disable(struct bnx2x *bp) |
1271 | { | 1274 | { |
1272 | if (bp->common.int_block == INT_BLOCK_HC) | 1275 | if (bp->common.int_block == INT_BLOCK_HC) |
1273 | bnx2x_hc_int_disable(bp); | 1276 | bnx2x_hc_int_disable(bp); |
@@ -2236,7 +2239,7 @@ u32 bnx2x_fw_command(struct bnx2x *bp, u32 command, u32 param) | |||
2236 | } | 2239 | } |
2237 | 2240 | ||
2238 | /* must be called under rtnl_lock */ | 2241 | /* must be called under rtnl_lock */ |
2239 | void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters) | 2242 | static void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters) |
2240 | { | 2243 | { |
2241 | u32 mask = (1 << cl_id); | 2244 | u32 mask = (1 << cl_id); |
2242 | 2245 | ||
@@ -2303,7 +2306,7 @@ void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters) | |||
2303 | bp->mac_filters.unmatched_unicast & ~mask; | 2306 | bp->mac_filters.unmatched_unicast & ~mask; |
2304 | } | 2307 | } |
2305 | 2308 | ||
2306 | void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p) | 2309 | static void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p) |
2307 | { | 2310 | { |
2308 | struct tstorm_eth_function_common_config tcfg = {0}; | 2311 | struct tstorm_eth_function_common_config tcfg = {0}; |
2309 | u16 rss_flgs; | 2312 | u16 rss_flgs; |
@@ -2460,7 +2463,7 @@ static void bnx2x_pf_tx_cl_prep(struct bnx2x *bp, | |||
2460 | txq_init->hc_rate = bp->tx_ticks ? (1000000 / bp->tx_ticks) : 0; | 2463 | txq_init->hc_rate = bp->tx_ticks ? (1000000 / bp->tx_ticks) : 0; |
2461 | } | 2464 | } |
2462 | 2465 | ||
2463 | void bnx2x_pf_init(struct bnx2x *bp) | 2466 | static void bnx2x_pf_init(struct bnx2x *bp) |
2464 | { | 2467 | { |
2465 | struct bnx2x_func_init_params func_init = {0}; | 2468 | struct bnx2x_func_init_params func_init = {0}; |
2466 | struct bnx2x_rss_params rss = {0}; | 2469 | struct bnx2x_rss_params rss = {0}; |
@@ -3928,7 +3931,7 @@ void bnx2x_setup_ndsb_state_machine(struct hc_status_block_sm *hc_sm, | |||
3928 | hc_sm->time_to_expire = 0xFFFFFFFF; | 3931 | hc_sm->time_to_expire = 0xFFFFFFFF; |
3929 | } | 3932 | } |
3930 | 3933 | ||
3931 | void bnx2x_init_sb(struct bnx2x *bp, dma_addr_t mapping, int vfid, | 3934 | static void bnx2x_init_sb(struct bnx2x *bp, dma_addr_t mapping, int vfid, |
3932 | u8 vf_valid, int fw_sb_id, int igu_sb_id) | 3935 | u8 vf_valid, int fw_sb_id, int igu_sb_id) |
3933 | { | 3936 | { |
3934 | int igu_seg_id; | 3937 | int igu_seg_id; |
@@ -6021,6 +6024,9 @@ alloc_mem_err: | |||
6021 | /* | 6024 | /* |
6022 | * Init service functions | 6025 | * Init service functions |
6023 | */ | 6026 | */ |
6027 | static int bnx2x_wait_ramrod(struct bnx2x *bp, int state, int idx, | ||
6028 | int *state_p, int flags); | ||
6029 | |||
6024 | int bnx2x_func_start(struct bnx2x *bp) | 6030 | int bnx2x_func_start(struct bnx2x *bp) |
6025 | { | 6031 | { |
6026 | bnx2x_sp_post(bp, RAMROD_CMD_ID_COMMON_FUNCTION_START, 0, 0, 0, 1); | 6032 | bnx2x_sp_post(bp, RAMROD_CMD_ID_COMMON_FUNCTION_START, 0, 0, 0, 1); |
@@ -6030,7 +6036,7 @@ int bnx2x_func_start(struct bnx2x *bp) | |||
6030 | WAIT_RAMROD_COMMON); | 6036 | WAIT_RAMROD_COMMON); |
6031 | } | 6037 | } |
6032 | 6038 | ||
6033 | int bnx2x_func_stop(struct bnx2x *bp) | 6039 | static int bnx2x_func_stop(struct bnx2x *bp) |
6034 | { | 6040 | { |
6035 | bnx2x_sp_post(bp, RAMROD_CMD_ID_COMMON_FUNCTION_STOP, 0, 0, 0, 1); | 6041 | bnx2x_sp_post(bp, RAMROD_CMD_ID_COMMON_FUNCTION_STOP, 0, 0, 0, 1); |
6036 | 6042 | ||
@@ -6103,8 +6109,8 @@ static void bnx2x_set_mac_addr_gen(struct bnx2x *bp, int set, u8 *mac, | |||
6103 | bnx2x_wait_ramrod(bp, 0, 0, &bp->set_mac_pending, ramrod_flags); | 6109 | bnx2x_wait_ramrod(bp, 0, 0, &bp->set_mac_pending, ramrod_flags); |
6104 | } | 6110 | } |
6105 | 6111 | ||
6106 | int bnx2x_wait_ramrod(struct bnx2x *bp, int state, int idx, | 6112 | static int bnx2x_wait_ramrod(struct bnx2x *bp, int state, int idx, |
6107 | int *state_p, int flags) | 6113 | int *state_p, int flags) |
6108 | { | 6114 | { |
6109 | /* can take a while if any port is running */ | 6115 | /* can take a while if any port is running */ |
6110 | int cnt = 5000; | 6116 | int cnt = 5000; |
@@ -6154,7 +6160,7 @@ int bnx2x_wait_ramrod(struct bnx2x *bp, int state, int idx, | |||
6154 | return -EBUSY; | 6160 | return -EBUSY; |
6155 | } | 6161 | } |
6156 | 6162 | ||
6157 | u8 bnx2x_e1h_cam_offset(struct bnx2x *bp, u8 rel_offset) | 6163 | static u8 bnx2x_e1h_cam_offset(struct bnx2x *bp, u8 rel_offset) |
6158 | { | 6164 | { |
6159 | if (CHIP_IS_E1H(bp)) | 6165 | if (CHIP_IS_E1H(bp)) |
6160 | return E1H_FUNC_MAX * rel_offset + BP_FUNC(bp); | 6166 | return E1H_FUNC_MAX * rel_offset + BP_FUNC(bp); |
@@ -6273,7 +6279,7 @@ static void bnx2x_invlidate_e1_mc_list(struct bnx2x *bp) | |||
6273 | * | 6279 | * |
6274 | * @return 0 if cussess, -ENODEV if ramrod doesn't return. | 6280 | * @return 0 if cussess, -ENODEV if ramrod doesn't return. |
6275 | */ | 6281 | */ |
6276 | int bnx2x_set_iscsi_eth_mac_addr(struct bnx2x *bp, int set) | 6282 | static int bnx2x_set_iscsi_eth_mac_addr(struct bnx2x *bp, int set) |
6277 | { | 6283 | { |
6278 | u8 cam_offset = (CHIP_IS_E1(bp) ? ((BP_PORT(bp) ? 32 : 0) + 2) : | 6284 | u8 cam_offset = (CHIP_IS_E1(bp) ? ((BP_PORT(bp) ? 32 : 0) + 2) : |
6279 | bnx2x_e1h_cam_offset(bp, CAM_ISCSI_ETH_LINE)); | 6285 | bnx2x_e1h_cam_offset(bp, CAM_ISCSI_ETH_LINE)); |
@@ -6383,11 +6389,11 @@ static inline void bnx2x_set_ctx_validation(struct eth_context *cxt, u32 cid) | |||
6383 | ETH_CONNECTION_TYPE); | 6389 | ETH_CONNECTION_TYPE); |
6384 | } | 6390 | } |
6385 | 6391 | ||
6386 | int bnx2x_setup_fw_client(struct bnx2x *bp, | 6392 | static int bnx2x_setup_fw_client(struct bnx2x *bp, |
6387 | struct bnx2x_client_init_params *params, | 6393 | struct bnx2x_client_init_params *params, |
6388 | u8 activate, | 6394 | u8 activate, |
6389 | struct client_init_ramrod_data *data, | 6395 | struct client_init_ramrod_data *data, |
6390 | dma_addr_t data_mapping) | 6396 | dma_addr_t data_mapping) |
6391 | { | 6397 | { |
6392 | u16 hc_usec; | 6398 | u16 hc_usec; |
6393 | int ramrod = RAMROD_CMD_ID_ETH_CLIENT_SETUP; | 6399 | int ramrod = RAMROD_CMD_ID_ETH_CLIENT_SETUP; |
@@ -6633,7 +6639,8 @@ int bnx2x_setup_client(struct bnx2x *bp, struct bnx2x_fastpath *fp, | |||
6633 | return rc; | 6639 | return rc; |
6634 | } | 6640 | } |
6635 | 6641 | ||
6636 | int bnx2x_stop_fw_client(struct bnx2x *bp, struct bnx2x_client_ramrod_params *p) | 6642 | static int bnx2x_stop_fw_client(struct bnx2x *bp, |
6643 | struct bnx2x_client_ramrod_params *p) | ||
6637 | { | 6644 | { |
6638 | int rc; | 6645 | int rc; |
6639 | 6646 | ||
@@ -7440,7 +7447,7 @@ reset_task_exit: | |||
7440 | * Init service functions | 7447 | * Init service functions |
7441 | */ | 7448 | */ |
7442 | 7449 | ||
7443 | u32 bnx2x_get_pretend_reg(struct bnx2x *bp) | 7450 | static u32 bnx2x_get_pretend_reg(struct bnx2x *bp) |
7444 | { | 7451 | { |
7445 | u32 base = PXP2_REG_PGL_PRETEND_FUNC_F0; | 7452 | u32 base = PXP2_REG_PGL_PRETEND_FUNC_F0; |
7446 | u32 stride = PXP2_REG_PGL_PRETEND_FUNC_F1 - base; | 7453 | u32 stride = PXP2_REG_PGL_PRETEND_FUNC_F1 - base; |