Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 042181f5 authored by Vladislav Zolotarov's avatar Vladislav Zolotarov Committed by David S. Miller
Browse files

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: default avatarVladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@conan.davemloft.net>
parent 9ee3d37b
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -4,4 +4,4 @@


obj-$(CONFIG_BNX2X) += bnx2x.o
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
+3 −3
Original line number Original line Diff line number Diff line
@@ -1482,10 +1482,11 @@ int bnx2x_sp_post(struct bnx2x *bp, int command, int cid,
		  u32 data_hi, u32 data_lo, int common);
		  u32 data_hi, u32 data_lo, int common);


/* Clears multicast and unicast list configuration in the chip. */
/* 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);
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);
void bnx2x_update_coalesce(struct bnx2x *bp);
int bnx2x_get_cur_phy_idx(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 */
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);
extern void bnx2x_set_ethtool_ops(struct net_device *netdev);
void bnx2x_push_indir_table(struct bnx2x *bp);


#endif /* bnx2x.h */
#endif /* bnx2x.h */
+1 −1
Original line number Original line Diff line number Diff line
@@ -24,8 +24,8 @@
#include <linux/firmware.h>
#include <linux/firmware.h>
#include <linux/prefetch.h>
#include <linux/prefetch.h>
#include "bnx2x_cmn.h"
#include "bnx2x_cmn.h"

#include "bnx2x_init.h"
#include "bnx2x_init.h"
#include "bnx2x_sp.h"


static int bnx2x_setup_irqs(struct bnx2x *bp);
static int bnx2x_setup_irqs(struct bnx2x *bp);


+3 −7
Original line number Original line Diff line number Diff line
@@ -292,13 +292,6 @@ int bnx2x_set_all_enode_macs(struct bnx2x *bp, int set);
 */
 */
void bnx2x_set_rx_mode(struct net_device *dev);
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 */
/* Parity errors related */
void bnx2x_inc_load_cnt(struct bnx2x *bp);
void bnx2x_inc_load_cnt(struct bnx2x *bp);
u32 bnx2x_dec_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_acquire_phy_lock(struct bnx2x *bp);
void bnx2x_release_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.
 * bnx2x_extract_max_cfg - extract MAX BW part from MF configuration.
 *
 *
+1 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@
#include "bnx2x_cmn.h"
#include "bnx2x_cmn.h"
#include "bnx2x_dump.h"
#include "bnx2x_dump.h"
#include "bnx2x_init.h"
#include "bnx2x_init.h"
#include "bnx2x_sp.h"


/* Note: in the format strings below %s is replaced by the queue-name which is
/* 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
 * either its index or 'fcoe' for the fcoe queue. Make sure the format string
Loading