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

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

bnx2x: add DCB support



Adding DCB initialization and handling on 57712 FW/HW

Signed-off-by: default avatarDmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: default avatarShmulik Ravid-Rabinovitz <shmulikr@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8307fa3e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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-objs := bnx2x_main.o bnx2x_link.o bnx2x_cmn.o bnx2x_ethtool.o bnx2x_stats.o bnx2x_dcb.o
+15 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@
#include "bnx2x_fw_defs.h"
#include "bnx2x_hsi.h"
#include "bnx2x_link.h"
#include "bnx2x_dcb.h"
#include "bnx2x_stats.h"

/* error/debug prints */
@@ -820,6 +821,8 @@ struct bnx2x_slowpath {

	u32				wb_comp;
	u32				wb_data[4];
	/* pfc configuration for DCBX ramrod */
	struct flow_control_configuration pfc_config;
};

#define bnx2x_sp(bp, var)		(&bp->slowpath->var)
@@ -1180,6 +1183,18 @@ struct bnx2x {

	char			fw_ver[32];
	const struct firmware	*firmware;
	/* LLDP params */
	struct bnx2x_config_lldp_params		lldp_config_params;

	/* DCBX params */
	struct bnx2x_config_dcbx_params		dcbx_config_params;

	struct bnx2x_dcbx_port_params		dcbx_port_params;
	int					dcb_version;

	/* DCBX Negotation results */
	struct dcbx_features			dcbx_local_feat;
	u32					dcbx_error;
};

/**
+2 −0
Original line number Diff line number Diff line
@@ -1371,6 +1371,8 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode)
		}
	}

	bnx2x_dcbx_init(bp);

	bp->state = BNX2X_STATE_OPENING_WAIT4_PORT;

	rc = bnx2x_func_start(bp);
+7 −0
Original line number Diff line number Diff line
@@ -323,6 +323,13 @@ int bnx2x_func_start(struct bnx2x *bp);
 */
void bnx2x_ilt_set_info(struct bnx2x *bp);

/**
 * Inintialize dcbx protocol
 *
 * @param bp
 */
void bnx2x_dcbx_init(struct bnx2x *bp);

/**
 * Set power state to the requested value. Currently only D0 and
 * D3hot are supported.
+1491 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading