diff options
Diffstat (limited to 'drivers/net/sfc/mcdi.c')
| -rw-r--r-- | drivers/net/sfc/mcdi.c | 98 | 
1 files changed, 56 insertions, 42 deletions
diff --git a/drivers/net/sfc/mcdi.c b/drivers/net/sfc/mcdi.c index 93cc3c1b945..3912b8fed91 100644 --- a/drivers/net/sfc/mcdi.c +++ b/drivers/net/sfc/mcdi.c @@ -168,11 +168,12 @@ static int efx_mcdi_poll(struct efx_nic *efx)  	error = EFX_DWORD_FIELD(reg, MCDI_HEADER_ERROR);  	if (error && mcdi->resplen == 0) { -		EFX_ERR(efx, "MC rebooted\n"); +		netif_err(efx, hw, efx->net_dev, "MC rebooted\n");  		rc = EIO;  	} else if ((respseq ^ mcdi->seqno) & SEQ_MASK) { -		EFX_ERR(efx, "MC response mismatch tx seq 0x%x rx seq 0x%x\n", -			respseq, mcdi->seqno); +		netif_err(efx, hw, efx->net_dev, +			  "MC response mismatch tx seq 0x%x rx seq 0x%x\n", +			  respseq, mcdi->seqno);  		rc = EIO;  	} else if (error) {  		efx_readd(efx, ®, pdu + 4); @@ -303,8 +304,9 @@ static void efx_mcdi_ev_cpl(struct efx_nic *efx, unsigned int seqno,  			/* The request has been cancelled */  			--mcdi->credits;  		else -			EFX_ERR(efx, "MC response mismatch tx seq 0x%x rx " -				"seq 0x%x\n", seqno, mcdi->seqno); +			netif_err(efx, hw, efx->net_dev, +				  "MC response mismatch tx seq 0x%x rx " +				  "seq 0x%x\n", seqno, mcdi->seqno);  	} else {  		mcdi->resprc = errno;  		mcdi->resplen = datalen; @@ -352,8 +354,9 @@ int efx_mcdi_rpc(struct efx_nic *efx, unsigned cmd,  		++mcdi->credits;  		spin_unlock_bh(&mcdi->iface_lock); -		EFX_ERR(efx, "MC command 0x%x inlen %d mode %d timed out\n", -			cmd, (int)inlen, mcdi->mode); +		netif_err(efx, hw, efx->net_dev, +			  "MC command 0x%x inlen %d mode %d timed out\n", +			  cmd, (int)inlen, mcdi->mode);  	} else {  		size_t resplen; @@ -374,11 +377,13 @@ int efx_mcdi_rpc(struct efx_nic *efx, unsigned cmd,  		} else if (cmd == MC_CMD_REBOOT && rc == -EIO)  			; /* Don't reset if MC_CMD_REBOOT returns EIO */  		else if (rc == -EIO || rc == -EINTR) { -			EFX_ERR(efx, "MC fatal error %d\n", -rc); +			netif_err(efx, hw, efx->net_dev, "MC fatal error %d\n", +				  -rc);  			efx_schedule_reset(efx, RESET_TYPE_MC_FAILURE);  		} else -			EFX_ERR(efx, "MC command 0x%x inlen %d failed rc=%d\n", -				cmd, (int)inlen, -rc); +			netif_err(efx, hw, efx->net_dev, +				  "MC command 0x%x inlen %d failed rc=%d\n", +				  cmd, (int)inlen, -rc);  	}  	efx_mcdi_release(mcdi); @@ -534,8 +539,9 @@ static void efx_mcdi_sensor_event(struct efx_nic *efx, efx_qword_t *ev)  	EFX_BUG_ON_PARANOID(state >= ARRAY_SIZE(sensor_status_names));  	state_txt = sensor_status_names[state]; -	EFX_ERR(efx, "Sensor %d (%s) reports condition '%s' for raw value %d\n", -		monitor, name, state_txt, value); +	netif_err(efx, hw, efx->net_dev, +		  "Sensor %d (%s) reports condition '%s' for raw value %d\n", +		  monitor, name, state_txt, value);  }  /* Called from  falcon_process_eventq for MCDI events */ @@ -548,12 +554,13 @@ void efx_mcdi_process_event(struct efx_channel *channel,  	switch (code) {  	case MCDI_EVENT_CODE_BADSSERT: -		EFX_ERR(efx, "MC watchdog or assertion failure at 0x%x\n", data); +		netif_err(efx, hw, efx->net_dev, +			  "MC watchdog or assertion failure at 0x%x\n", data);  		efx_mcdi_ev_death(efx, EINTR);  		break;  	case MCDI_EVENT_CODE_PMNOTICE: -		EFX_INFO(efx, "MCDI PM event.\n"); +		netif_info(efx, wol, efx->net_dev, "MCDI PM event.\n");  		break;  	case MCDI_EVENT_CODE_CMDDONE: @@ -570,10 +577,11 @@ void efx_mcdi_process_event(struct efx_channel *channel,  		efx_mcdi_sensor_event(efx, event);  		break;  	case MCDI_EVENT_CODE_SCHEDERR: -		EFX_INFO(efx, "MC Scheduler error address=0x%x\n", data); +		netif_info(efx, hw, efx->net_dev, +			   "MC Scheduler error address=0x%x\n", data);  		break;  	case MCDI_EVENT_CODE_REBOOT: -		EFX_INFO(efx, "MC Reboot\n"); +		netif_info(efx, hw, efx->net_dev, "MC Reboot\n");  		efx_mcdi_ev_death(efx, EIO);  		break;  	case MCDI_EVENT_CODE_MAC_STATS_DMA: @@ -581,7 +589,8 @@ void efx_mcdi_process_event(struct efx_channel *channel,  		break;  	default: -		EFX_ERR(efx, "Unknown MCDI event 0x%x\n", code); +		netif_err(efx, hw, efx->net_dev, "Unknown MCDI event 0x%x\n", +			  code);  	}  } @@ -627,7 +636,7 @@ int efx_mcdi_fwver(struct efx_nic *efx, u64 *version, u32 *build)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, probe, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -657,7 +666,7 @@ int efx_mcdi_drv_attach(struct efx_nic *efx, bool driver_operating,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, probe, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -695,7 +704,8 @@ int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d len=%d\n", __func__, rc, (int)outlen); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d len=%d\n", +		  __func__, rc, (int)outlen);  	return rc;  } @@ -724,7 +734,7 @@ int efx_mcdi_log_ctrl(struct efx_nic *efx, bool evq, bool uart, u32 dest_evq)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -749,8 +759,8 @@ int efx_mcdi_nvram_types(struct efx_nic *efx, u32 *nvram_types_out)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", -		__func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", +		  __func__, rc);  	return rc;  } @@ -781,7 +791,7 @@ int efx_mcdi_nvram_info(struct efx_nic *efx, unsigned int type,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -802,7 +812,7 @@ int efx_mcdi_nvram_update_start(struct efx_nic *efx, unsigned int type)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -827,7 +837,7 @@ int efx_mcdi_nvram_read(struct efx_nic *efx, unsigned int type,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -853,7 +863,7 @@ int efx_mcdi_nvram_write(struct efx_nic *efx, unsigned int type,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -877,7 +887,7 @@ int efx_mcdi_nvram_erase(struct efx_nic *efx, unsigned int type,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -898,7 +908,7 @@ int efx_mcdi_nvram_update_finish(struct efx_nic *efx, unsigned int type)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -948,9 +958,10 @@ int efx_mcdi_nvram_test_all(struct efx_nic *efx)  	return 0;  fail2: -	EFX_ERR(efx, "%s: failed type=%u\n", __func__, type); +	netif_err(efx, hw, efx->net_dev, "%s: failed type=%u\n", +		  __func__, type);  fail1: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -994,14 +1005,15 @@ static int efx_mcdi_read_assertion(struct efx_nic *efx)  		: (flags == MC_CMD_GET_ASSERTS_FLAGS_WDOG_FIRED)  		? "watchdog reset"  		: "unknown assertion"; -	EFX_ERR(efx, "MCPU %s at PC = 0x%.8x in thread 0x%.8x\n", reason, -		MCDI_DWORD(outbuf, GET_ASSERTS_OUT_SAVED_PC_OFFS), -		MCDI_DWORD(outbuf, GET_ASSERTS_OUT_THREAD_OFFS)); +	netif_err(efx, hw, efx->net_dev, +		  "MCPU %s at PC = 0x%.8x in thread 0x%.8x\n", reason, +		  MCDI_DWORD(outbuf, GET_ASSERTS_OUT_SAVED_PC_OFFS), +		  MCDI_DWORD(outbuf, GET_ASSERTS_OUT_THREAD_OFFS));  	/* Print out the registers */  	ofst = MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_OFST;  	for (index = 1; index < 32; index++) { -		EFX_ERR(efx, "R%.2d (?): 0x%.8x\n", index, +		netif_err(efx, hw, efx->net_dev, "R%.2d (?): 0x%.8x\n", index,  			MCDI_DWORD2(outbuf, ofst));  		ofst += sizeof(efx_dword_t);  	} @@ -1050,14 +1062,16 @@ void efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode)  	rc = efx_mcdi_rpc(efx, MC_CMD_SET_ID_LED, inbuf, sizeof(inbuf),  			  NULL, 0, NULL);  	if (rc) -		EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +		netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", +			  __func__, rc);  }  int efx_mcdi_reset_port(struct efx_nic *efx)  {  	int rc = efx_mcdi_rpc(efx, MC_CMD_PORT_RESET, NULL, 0, NULL, 0, NULL);  	if (rc) -		EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +		netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", +			  __func__, rc);  	return rc;  } @@ -1075,7 +1089,7 @@ int efx_mcdi_reset_mc(struct efx_nic *efx)  		return 0;  	if (rc == 0)  		rc = -EIO; -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -1108,7 +1122,7 @@ int efx_mcdi_wol_filter_set(struct efx_nic *efx, u32 type,  fail:  	*id_out = -1; -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -1143,7 +1157,7 @@ int efx_mcdi_wol_filter_get_magic(struct efx_nic *efx, int *id_out)  fail:  	*id_out = -1; -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -1163,7 +1177,7 @@ int efx_mcdi_wol_filter_remove(struct efx_nic *efx, int id)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -1179,7 +1193,7 @@ int efx_mcdi_wol_filter_reset(struct efx_nic *efx)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  }  |