blob: f9b755e4a1084d087b402b32b39ae67099faa012 [file] [log] [blame]
Vladislav Zolotarov042181f2011-06-14 01:33:39 +00001#ifndef BNX2X_SP
2#define BNX2X_SP
3
4#include "bnx2x_reg.h"
5
6/* MAC configuration */
7void bnx2x_set_mac_addr_gen(struct bnx2x *bp, int set, const u8 *mac,
8 u32 cl_bit_vec, u8 cam_offset,
9 u8 is_bcast);
10
11/* Multicast */
12void bnx2x_invalidate_e1_mc_list(struct bnx2x *bp);
13void bnx2x_invalidate_e1h_mc_list(struct bnx2x *bp);
14int bnx2x_set_e1_mc_list(struct bnx2x *bp);
15int bnx2x_set_e1h_mc_list(struct bnx2x *bp);
16
17/* Rx mode */
18void bnx2x_set_storm_rx_mode(struct bnx2x *bp);
19void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters);
20
21/* RSS configuration */
22void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p);
23void bnx2x_push_indir_table(struct bnx2x *bp);
24
25/* Queue configuration */
26static inline void bnx2x_set_ctx_validation(struct eth_context *cxt, u32 cid)
27{
28 /* ustorm cxt validation */
29 cxt->ustorm_ag_context.cdu_usage =
30 CDU_RSRVD_VALUE_TYPE_A(cid, CDU_REGION_NUMBER_UCM_AG,
31 ETH_CONNECTION_TYPE);
32 /* xcontext validation */
33 cxt->xstorm_ag_context.cdu_reserved =
34 CDU_RSRVD_VALUE_TYPE_A(cid, CDU_REGION_NUMBER_XCM_AG,
35 ETH_CONNECTION_TYPE);
36}
37
38int bnx2x_setup_fw_client(struct bnx2x *bp,
39 struct bnx2x_client_init_params *params,
40 u8 activate,
41 struct client_init_ramrod_data *data,
42 dma_addr_t data_mapping);
43#endif /* BNX2X_SP */