load_code
int bnx2x_compare_fw_ver(struct bnx2x *bp, u32 load_code, bool print_err);
static int bnx2x_init_hw(struct bnx2x *bp, u32 load_code)
func_params.params.hw_init.load_phase = load_code;
static int bnx2x_nic_load_request(struct bnx2x *bp, u32 *load_code)
(*load_code) = bnx2x_fw_command(bp, DRV_MSG_CODE_LOAD_REQ, param);
if (!(*load_code)) {
if ((*load_code) == FW_MSG_CODE_DRV_LOAD_REFUSED) {
int bnx2x_compare_fw_ver(struct bnx2x *bp, u32 load_code, bool print_err)
if (load_code != FW_MSG_CODE_DRV_LOAD_COMMON_CHIP &&
load_code != FW_MSG_CODE_DRV_LOAD_COMMON) {
static void bnx2x_nic_load_pmf(struct bnx2x *bp, u32 load_code)
if ((load_code == FW_MSG_CODE_DRV_LOAD_COMMON) ||
(load_code == FW_MSG_CODE_DRV_LOAD_COMMON_CHIP) ||
(load_code == FW_MSG_CODE_DRV_LOAD_PORT)) {
static void bnx2x_nic_load_afex_dcc(struct bnx2x *bp, int load_code)
if (((load_code == FW_MSG_CODE_DRV_LOAD_COMMON) ||
(load_code == FW_MSG_CODE_DRV_LOAD_COMMON_CHIP)) &&
int i, rc = 0, load_code = 0;
rc = bnx2x_nic_load_request(bp, &load_code);
rc = bnx2x_compare_fw_ver(bp, load_code, true);
load_code = bnx2x_nic_load_no_mcp(bp, port);
bnx2x_nic_load_pmf(bp, load_code);
rc = bnx2x_init_hw(bp, load_code);
bnx2x_post_irq_nic_init(bp, load_code);
bnx2x_nic_load_afex_dcc(bp, load_code);
load_code = bnx2x_fw_command(bp,
if (!load_code) {
void bnx2x_post_irq_nic_init(struct bnx2x *bp, u32 load_code);
static void bnx2x_init_internal(struct bnx2x *bp, u32 load_code)
switch (load_code) {
BNX2X_ERR("Unknown load_code (0x%x) from MCP\n", load_code);
void bnx2x_post_irq_nic_init(struct bnx2x *bp, u32 load_code)
bnx2x_init_internal(bp, load_code);
static int bnx2x_reset_hw(struct bnx2x *bp, u32 load_code)
func_params.params.hw_init.load_phase = load_code;
u32 load_code;
load_code = bnx2x_fw_command(bp, DRV_MSG_CODE_LOAD_REQ,
if (!load_code) {
if ((load_code != FW_MSG_CODE_DRV_LOAD_COMMON_CHIP) &&
(load_code != FW_MSG_CODE_DRV_LOAD_COMMON)) {
load_code = bnx2x_fw_command(bp, DRV_MSG_CODE_LOAD_DONE, 0);
if (!load_code) {
u32 load_code = params->params.hw_init.load_phase;
BP_ABS_FUNC(bp), load_code);
switch (load_code) {
BNX2X_ERR("Unknown load_code (0x%x) from MCP\n", load_code);
u32 load_code, resp, param, drv_mb_param;
load_code = load_req_params.load_code;
load_code);
if (load_code != FW_MSG_CODE_DRV_LOAD_ENGINE) {
switch (load_code) {
"Unexpected load code [0x%08x]", load_code);
load_code, rc);
drv_mb_param, &load_code, ¶m);
} else if (out_params.load_code ==
switch (out_params.load_code) {
out_params.load_code);
p_params->load_code = out_params.load_code;
u32 load_code;
p_out_params->load_code = mb_params.mcp_resp;
p_out_params->load_code != FW_MSG_CODE_DRV_LOAD_REFUSED_HSI_1) {
if (out_params.load_code == FW_MSG_CODE_DRV_LOAD_REFUSED_HSI_1) {
u32 load_code;
static int do_load_unload(struct scsi_tape *STp, struct file *filp, int load_code)
if (STp->ready != ST_READY && !load_code) {
if (load_code)
if (load_code >= 1 + MT_ST_HPLOADER_OFFSET
&& load_code <= 6 + MT_ST_HPLOADER_OFFSET) {
load_code - MT_ST_HPLOADER_OFFSET);
cmd[3] = load_code - MT_ST_HPLOADER_OFFSET; /* MediaID field of C1553A */
if (!load_code)
if (!load_code) {
load_code(icom_port);