You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
bnx2x: Created bnx2x_sp
Moved the HSI dependent slow path code to a separate file. Currently it contains the implementation of MACs, Rx mode, multicast addresses, indirection table, fast path queue and function configuration code. Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@conan.davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
9ee3d37b05
commit
042181f5aa
@@ -4,4 +4,4 @@
|
||||
|
||||
obj-$(CONFIG_BNX2X) += bnx2x.o
|
||||
|
||||
bnx2x-objs := bnx2x_main.o bnx2x_link.o bnx2x_cmn.o bnx2x_ethtool.o bnx2x_stats.o bnx2x_dcb.o
|
||||
bnx2x-objs := bnx2x_main.o bnx2x_link.o bnx2x_cmn.o bnx2x_ethtool.o bnx2x_stats.o bnx2x_dcb.o bnx2x_sp.o
|
||||
|
||||
@@ -1482,10 +1482,11 @@ int bnx2x_sp_post(struct bnx2x *bp, int command, int cid,
|
||||
u32 data_hi, u32 data_lo, int common);
|
||||
|
||||
/* Clears multicast and unicast list configuration in the chip. */
|
||||
void bnx2x_invalidate_e1_mc_list(struct bnx2x *bp);
|
||||
void bnx2x_invalidate_e1h_mc_list(struct bnx2x *bp);
|
||||
void bnx2x_invalidate_uc_list(struct bnx2x *bp);
|
||||
|
||||
int bnx2x_wait_ramrod(struct bnx2x *bp, int state, int idx,
|
||||
int *state_p, int flags);
|
||||
|
||||
void bnx2x_update_coalesce(struct bnx2x *bp);
|
||||
int bnx2x_get_cur_phy_idx(struct bnx2x *bp);
|
||||
|
||||
@@ -1825,6 +1826,5 @@ static inline u32 reg_poll(struct bnx2x *bp, u32 reg, u32 expected, int ms,
|
||||
BNX2X_EXTERN int load_count[2][3]; /* per path: 0-common, 1-port0, 2-port1 */
|
||||
|
||||
extern void bnx2x_set_ethtool_ops(struct net_device *netdev);
|
||||
void bnx2x_push_indir_table(struct bnx2x *bp);
|
||||
|
||||
#endif /* bnx2x.h */
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include "bnx2x_cmn.h"
|
||||
|
||||
#include "bnx2x_init.h"
|
||||
#include "bnx2x_sp.h"
|
||||
|
||||
static int bnx2x_setup_irqs(struct bnx2x *bp);
|
||||
|
||||
|
||||
@@ -292,13 +292,6 @@ int bnx2x_set_all_enode_macs(struct bnx2x *bp, int set);
|
||||
*/
|
||||
void bnx2x_set_rx_mode(struct net_device *dev);
|
||||
|
||||
/**
|
||||
* bnx2x_set_storm_rx_mode - configure MAC filtering rules in a FW.
|
||||
*
|
||||
* @bp: driver handle
|
||||
*/
|
||||
void bnx2x_set_storm_rx_mode(struct bnx2x *bp);
|
||||
|
||||
/* Parity errors related */
|
||||
void bnx2x_inc_load_cnt(struct bnx2x *bp);
|
||||
u32 bnx2x_dec_load_cnt(struct bnx2x *bp);
|
||||
@@ -1117,6 +1110,9 @@ static inline void storm_memset_cmng(struct bnx2x *bp,
|
||||
void bnx2x_acquire_phy_lock(struct bnx2x *bp);
|
||||
void bnx2x_release_phy_lock(struct bnx2x *bp);
|
||||
|
||||
void bnx2x_update_coalesce_sb_index(struct bnx2x *bp, u16 fw_sb_id,
|
||||
u8 sb_index, u8 disable, u16 usec);
|
||||
|
||||
/**
|
||||
* bnx2x_extract_max_cfg - extract MAX BW part from MF configuration.
|
||||
*
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "bnx2x_cmn.h"
|
||||
#include "bnx2x_dump.h"
|
||||
#include "bnx2x_init.h"
|
||||
#include "bnx2x_sp.h"
|
||||
|
||||
/* Note: in the format strings below %s is replaced by the queue-name which is
|
||||
* either its index or 'fcoe' for the fcoe queue. Make sure the format string
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,43 @@
|
||||
#ifndef BNX2X_SP
|
||||
#define BNX2X_SP
|
||||
|
||||
#include "bnx2x_reg.h"
|
||||
|
||||
/* MAC configuration */
|
||||
void bnx2x_set_mac_addr_gen(struct bnx2x *bp, int set, const u8 *mac,
|
||||
u32 cl_bit_vec, u8 cam_offset,
|
||||
u8 is_bcast);
|
||||
|
||||
/* Multicast */
|
||||
void bnx2x_invalidate_e1_mc_list(struct bnx2x *bp);
|
||||
void bnx2x_invalidate_e1h_mc_list(struct bnx2x *bp);
|
||||
int bnx2x_set_e1_mc_list(struct bnx2x *bp);
|
||||
int bnx2x_set_e1h_mc_list(struct bnx2x *bp);
|
||||
|
||||
/* Rx mode */
|
||||
void bnx2x_set_storm_rx_mode(struct bnx2x *bp);
|
||||
void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters);
|
||||
|
||||
/* RSS configuration */
|
||||
void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p);
|
||||
void bnx2x_push_indir_table(struct bnx2x *bp);
|
||||
|
||||
/* Queue configuration */
|
||||
static inline void bnx2x_set_ctx_validation(struct eth_context *cxt, u32 cid)
|
||||
{
|
||||
/* ustorm cxt validation */
|
||||
cxt->ustorm_ag_context.cdu_usage =
|
||||
CDU_RSRVD_VALUE_TYPE_A(cid, CDU_REGION_NUMBER_UCM_AG,
|
||||
ETH_CONNECTION_TYPE);
|
||||
/* xcontext validation */
|
||||
cxt->xstorm_ag_context.cdu_reserved =
|
||||
CDU_RSRVD_VALUE_TYPE_A(cid, CDU_REGION_NUMBER_XCM_AG,
|
||||
ETH_CONNECTION_TYPE);
|
||||
}
|
||||
|
||||
int bnx2x_setup_fw_client(struct bnx2x *bp,
|
||||
struct bnx2x_client_init_params *params,
|
||||
u8 activate,
|
||||
struct client_init_ramrod_data *data,
|
||||
dma_addr_t data_mapping);
|
||||
#endif /* BNX2X_SP */
|
||||
Reference in New Issue
Block a user