drivers/s390/net/qeth_core_mpc.c

Source file repositories/reference/linux-study-clean/drivers/s390/net/qeth_core_mpc.c

File Facts

System
Linux kernel
Corpus path
drivers/s390/net/qeth_core_mpc.c
Extension
.c
Size
13636 bytes
Lines
417
Domain
Driver Families
Bucket
drivers/s390
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ipa_rc_msg {
	enum qeth_ipa_return_codes rc;
	const char *msg;
};

static const struct ipa_rc_msg qeth_ipa_rc_def_msg[] = {
	{IPA_RC_SUCCESS,		"success"},
	{IPA_RC_NOTSUPP,		"Command not supported"},
	{IPA_RC_UNSUPPORTED_COMMAND,	"Command not supported"},
	{IPA_RC_DUP_IPV6_REMOTE, "ipv6 address already registered remote"},
	{IPA_RC_DUP_IPV6_HOME,		"ipv6 address already registered"},
	{IPA_RC_UNREGISTERED_ADDR,	"Address not registered"},
	{IPA_RC_ID_NOT_FOUND,		"Identifier not found"},
	{IPA_RC_LAN_FRAME_MISMATCH,	"LAN and frame mismatch"},
	{IPA_RC_L2_UNSUPPORTED_CMD,	"Unsupported layer 2 command"},
	{IPA_RC_L2_ADDR_TABLE_FULL,	"Layer2 address table full"},
	{IPA_RC_L2_MAC_NOT_AUTH_BY_ADP,	"L2 mac not authorized by adapter"},
	{IPA_RC_DATA_MISMATCH,		"Data field mismatch (v4/v6 mixed)"},
	{IPA_RC_INVALID_MTU_SIZE,	"Invalid MTU size"},
	{IPA_RC_INVALID_LANTYPE,	"Invalid LAN type"},
	{IPA_RC_INVALID_LANNUM,		"Invalid LAN num"},
	{IPA_RC_LAN_PORT_STATE_ERROR,	"LAN port state error"},
	{IPA_RC_SETIP_NO_STARTLAN,	"Setip no startlan received"},
	{IPA_RC_SETIP_ALREADY_RECEIVED,	"Setip already received"},
	{IPA_RC_SETIP_INVALID_VERSION,	"SETIP invalid IP version"},
	{IPA_RC_UNSUPPORTED_SUBCMD,	"Unsupported assist subcommand"},
	{IPA_RC_ARP_ASSIST_NO_ENABLE,	"Only partial success, no enable"},
	{IPA_RC_INVALID_IP_VERSION2,	"Invalid IP version"},
	/* default for qeth_get_ipa_msg(): */
	{IPA_RC_FFFF,			"Unknown Error"}
};

static const struct ipa_rc_msg qeth_ipa_rc_adp_parms_msg[] = {
	{IPA_RC_IP_TABLE_FULL,	"Add Addr IP Table Full - ipv6"}
};

static const struct ipa_rc_msg qeth_ipa_rc_diag_ass_msg[] = {
	{IPA_RC_INVALID_FORMAT,	"invalid format or length"}
};

static const struct ipa_rc_msg qeth_ipa_rc_addr_msg[] = {
	{IPA_RC_UNKNOWN_ERROR,	 "IPA command failed - reason unknown"},
	{IPA_RC_NO_ID_AVAILABLE, "No identifiers available"},
	{IPA_RC_INVALID_IP_VERSION,	"IP version incorrect"}
};

static const struct ipa_rc_msg qeth_ipa_rc_vnicc_msg[] = {
	{IPA_RC_VNICC_OOSEQ,	"Command issued out of sequence"},
	{IPA_RC_VNICC_VNICBP,	"VNIC is BridgePort"}
};

static const struct ipa_rc_msg qeth_ipa_rc_sbp_iqd_msg[] = {
	{IPA_RC_SBP_IQD_NOT_CONFIGURED,	"Not configured for bridgeport"},
	{IPA_RC_SBP_IQD_OS_MISMATCH,	"OS mismatch"},
	{IPA_RC_SBP_IQD_ANO_DEV_PRIMARY, "Primary bridgeport exists already"},
	{IPA_RC_SBP_IQD_CURRENT_SECOND,	"Bridgeport is currently secondary"},
	{IPA_RC_SBP_IQD_LIMIT_SECOND, "Limit of secondary bridgeports reached"},
	{IPA_RC_SBP_IQD_NOT_AUTHD_BY_ZMAN, "Not authorized by zManager"},
	{IPA_RC_SBP_IQD_CURRENT_PRIMARY, "Bridgeport is currently primary"},
	{IPA_RC_SBP_IQD_NO_QDIO_QUEUES,	"QDIO queues not established"}
};

static const struct ipa_rc_msg qeth_ipa_rc_sbp_osa_msg[] = {
	{IPA_RC_SBP_OSA_NOT_CONFIGURED,	"Not configured for bridgeport"},
	{IPA_RC_SBP_OSA_OS_MISMATCH,	"OS mismatch"},
	{IPA_RC_SBP_OSA_ANO_DEV_PRIMARY, "Primary bridgeport exists already"},
	{IPA_RC_SBP_OSA_CURRENT_SECOND,	"Bridgeport is currently secondary"},
	{IPA_RC_SBP_OSA_LIMIT_SECOND, "Limit of secondary bridgeports reached"},
	{IPA_RC_SBP_OSA_NOT_AUTHD_BY_ZMAN, "Not authorized by zManager"},
	{IPA_RC_SBP_OSA_CURRENT_PRIMARY, "Bridgeport is currently primary"},
	{IPA_RC_SBP_OSA_NO_QDIO_QUEUES,	"QDIO queues not established"}
};

static const struct ipa_rc_msg qeth_ipa_rc_mac_msg[] = {
	{IPA_RC_L2_DUP_MAC,	   "Duplicate MAC address"},
	{IPA_RC_L2_DUP_LAYER3_MAC, "Duplicate with layer 3 MAC"},
	{IPA_RC_L2_GMAC_NOT_FOUND, "GMAC not found"},
	{IPA_RC_L2_MAC_NOT_AUTH_BY_HYP,	"L2 mac not authorized by hypervisor"},
	{IPA_RC_L2_MAC_NOT_FOUND,  "L2 mac address not found"}
};

static const struct ipa_rc_msg qeth_ipa_rc_ip_msg[] = {
	{IPA_RC_DUPLICATE_IP_ADDRESS,	"Address already registered"},
	{IPA_RC_IP_ADDR_TABLE_FULL,	"IP address table full"},
	{IPA_RC_IP_ADDR_ALREADY_USED,	"IP address already in use on LAN"},
	{IPA_RC_MC_ADDR_NOT_FOUND,	"Multicast address not found"}
};

static const struct ipa_rc_msg qeth_ipa_rc_lan_msg[] = {
	{IPA_RC_LAN_OFFLINE,		"STRTLAN_LAN_DISABLED - LAN offline"},

Annotation

Implementation Notes