drivers/s390/net/qeth_core_mpc.h
Source file repositories/reference/linux-study-clean/drivers/s390/net/qeth_core_mpc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/s390/net/qeth_core_mpc.h- Extension
.h- Size
- 27662 bytes
- Lines
- 965
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/qeth.huapi/linux/if_ether.huapi/linux/in6.h
Detected Declarations
struct qeth_ipa_capsstruct qeth_ipacmd_setdelip4struct qeth_ipacmd_setdelip6struct qeth_ipacmd_setdelipmstruct qeth_ipacmd_layer2setdelmacstruct qeth_ipacmd_layer2setdelvlanstruct qeth_ipacmd_setassparms_hdrstruct qeth_arp_query_datastruct qeth_arp_query_infostruct qeth_tso_start_datastruct qeth_ipacmd_setassparmsstruct qeth_set_routingstruct qeth_query_cmds_suppstruct qeth_change_addrstruct qeth_snmp_cmdstruct qeth_snmp_ureq_hdrstruct qeth_snmp_ureqstruct qeth_set_access_ctrlstruct qeth_query_oat_physical_ifstruct qeth_query_oat_replystruct qeth_query_oatstruct qeth_qoat_privstruct qeth_query_card_infostruct qeth_query_switch_attributesstruct qeth_ipacmd_setadpparms_hdrstruct qeth_ipacmd_setadpparmsstruct qeth_create_destroy_addressstruct qeth_ipacmd_diagassstruct qeth_ipacmd_vnicc_hdrstruct qeth_vnicc_query_cmdsstruct qeth_vnicc_set_charstruct qeth_vnicc_getset_timeoutstruct qeth_ipacmd_vniccstruct net_if_tokenstruct mac_addr_lnidstruct qeth_ipacmd_sbp_hdrstruct qeth_sbp_query_cmds_suppstruct qeth_sbp_set_primarystruct qeth_sbp_port_entrystruct qeth_sbp_port_datastruct qeth_ipacmd_setbridgeportstruct qeth_ipacmd_addr_change_entrystruct qeth_ipacmd_addr_changestruct qeth_ipacmd_local_addr4struct qeth_ipacmd_local_addrs4struct qeth_ipacmd_local_addr6struct qeth_ipacmd_local_addrs6struct qeth_ipacmd_hdr
Annotated Snippet
struct qeth_ipa_caps {
u32 supported;
u32 enabled;
};
static inline bool qeth_ipa_caps_supported(struct qeth_ipa_caps *caps, u32 mask)
{
return (caps->supported & mask) == mask;
}
static inline bool qeth_ipa_caps_enabled(struct qeth_ipa_caps *caps, u32 mask)
{
return (caps->enabled & mask) == mask;
}
#define qeth_adp_supported(c, f) \
qeth_ipa_caps_supported(&c->options.adp, f)
#define qeth_is_supported(c, f) \
qeth_ipa_caps_supported(&c->options.ipa4, f)
#define qeth_is_supported6(c, f) \
qeth_ipa_caps_supported(&c->options.ipa6, f)
#define qeth_is_ipafunc_supported(c, prot, f) \
((prot == QETH_PROT_IPV6) ? qeth_is_supported6(c, f) : \
qeth_is_supported(c, f))
enum qeth_card_types {
QETH_CARD_TYPE_OSD = 1,
QETH_CARD_TYPE_IQD = 5,
QETH_CARD_TYPE_OSM = 3,
QETH_CARD_TYPE_OSX = 2,
};
#define IS_IQD(card) ((card)->info.type == QETH_CARD_TYPE_IQD)
#define IS_OSD(card) ((card)->info.type == QETH_CARD_TYPE_OSD)
#define IS_OSM(card) ((card)->info.type == QETH_CARD_TYPE_OSM)
#ifdef CONFIG_QETH_OSX
#define IS_OSX(card) ((card)->info.type == QETH_CARD_TYPE_OSX)
#else
#define IS_OSX(card) false
#endif
#define IS_VM_NIC(card) ((card)->info.is_vm_nic)
#define QETH_MPC_DIFINFO_LEN_INDICATES_LINK_TYPE 0x18
/* only the first two bytes are looked at in qeth_get_cardname_short */
enum qeth_link_types {
QETH_LINK_TYPE_FAST_ETH = 0x01,
QETH_LINK_TYPE_HSTR = 0x02,
QETH_LINK_TYPE_GBIT_ETH = 0x03,
QETH_LINK_TYPE_10GBIT_ETH = 0x10,
QETH_LINK_TYPE_25GBIT_ETH = 0x12,
QETH_LINK_TYPE_LANE_ETH100 = 0x81,
QETH_LINK_TYPE_LANE_TR = 0x82,
QETH_LINK_TYPE_LANE_ETH1000 = 0x83,
QETH_LINK_TYPE_LANE = 0x88,
};
enum qeth_routing_types {
/* TODO: set to bit flag used in IPA Command */
NO_ROUTER = 0,
PRIMARY_ROUTER = 1,
SECONDARY_ROUTER = 2,
MULTICAST_ROUTER = 3,
PRIMARY_CONNECTOR = 4,
SECONDARY_CONNECTOR = 5,
};
/* IPA Commands */
enum qeth_ipa_cmds {
IPA_CMD_STARTLAN = 0x01,
IPA_CMD_STOPLAN = 0x02,
IPA_CMD_SETVMAC = 0x21,
IPA_CMD_DELVMAC = 0x22,
IPA_CMD_SETGMAC = 0x23,
IPA_CMD_DELGMAC = 0x24,
IPA_CMD_SETVLAN = 0x25,
IPA_CMD_DELVLAN = 0x26,
IPA_CMD_VNICC = 0x2a,
IPA_CMD_SETBRIDGEPORT_OSA = 0x2b,
IPA_CMD_SETIP = 0xb1,
IPA_CMD_QIPASSIST = 0xb2,
IPA_CMD_SETASSPARMS = 0xb3,
IPA_CMD_SETIPM = 0xb4,
IPA_CMD_DELIPM = 0xb5,
IPA_CMD_SETRTG = 0xb6,
IPA_CMD_DELIP = 0xb7,
IPA_CMD_SETADAPTERPARMS = 0xb8,
IPA_CMD_SET_DIAG_ASS = 0xb9,
IPA_CMD_SETBRIDGEPORT_IQD = 0xbe,
Annotation
- Immediate include surface: `asm/qeth.h`, `uapi/linux/if_ether.h`, `uapi/linux/in6.h`.
- Detected declarations: `struct qeth_ipa_caps`, `struct qeth_ipacmd_setdelip4`, `struct qeth_ipacmd_setdelip6`, `struct qeth_ipacmd_setdelipm`, `struct qeth_ipacmd_layer2setdelmac`, `struct qeth_ipacmd_layer2setdelvlan`, `struct qeth_ipacmd_setassparms_hdr`, `struct qeth_arp_query_data`, `struct qeth_arp_query_info`, `struct qeth_tso_start_data`.
- Atlas domain: Driver Families / drivers/s390.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.