drivers/net/ethernet/marvell/octeontx2/af/mcs.c
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/marvell/octeontx2/af/mcs.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/marvell/octeontx2/af/mcs.c- Extension
.c- Size
- 43015 bytes
- Lines
- 1618
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: operation-table or driver-model contract
- Status
- pattern 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 an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/bitfield.hlinux/delay.hlinux/device.hlinux/module.hlinux/pci.hmcs.hmcs_reg.h
Detected Declarations
function mcs_get_tx_secy_statsfunction mcs_get_rx_secy_statsfunction mcs_get_flowid_statsfunction mcs_get_port_statsfunction mcs_get_sa_statsfunction mcs_get_sc_statsfunction mcs_clear_statsfunction mcs_clear_all_statsfunction mcs_pn_table_writefunction cn10kb_mcs_tx_sa_mem_map_writefunction cn10kb_mcs_rx_sa_mem_map_writefunction mcs_sa_plcy_writefunction mcs_ena_dis_sc_cam_entryfunction mcs_rx_sc_cam_writefunction mcs_secy_plcy_writefunction cn10kb_mcs_flowid_secy_mapfunction mcs_ena_dis_flowid_entryfunction mcs_flowid_entry_writefunction mcs_install_flowid_bypass_entryfunction mcs_clear_secy_plcyfunction mcs_alloc_ctrlpktrulefunction mcs_free_ctrlpktrulefunction mcs_ctrlpktrule_writefunction mcs_free_rsrcfunction mcs_free_all_rsrcfunction mcs_alloc_rsrcfunction mcs_alloc_all_rsrcfunction cn10kb_mcs_tx_pn_wrapped_handlerfunction for_each_set_bitfunction cn10kb_mcs_tx_pn_thresh_reached_handlerfunction mcs_rx_pn_thresh_reached_handlerfunction mcs_rx_misc_intr_handlerfunction mcs_tx_misc_intr_handlerfunction cn10kb_mcs_bbe_intr_handlerfunction cn10kb_mcs_pab_intr_handlerfunction mcs_ip_intr_handlerfunction mcs_alloc_struct_memfunction mcs_register_interruptsfunction mcs_get_blkcntfunction list_for_each_entryfunction is_mcs_bypassfunction list_for_each_entryfunction mcs_set_port_cfgfunction mcs_get_port_cfgfunction mcs_get_custom_tag_cfgfunction mcs_reset_portfunction mcs_set_lmac_modefunction mcs_pn_threshold_set
Annotated Snippet
struct pci_driver mcs_driver = {
.name = DRV_NAME,
.id_table = mcs_id_table,
.probe = mcs_probe,
.remove = mcs_remove,
};
Annotation
- Immediate include surface: `linux/bitfield.h`, `linux/delay.h`, `linux/device.h`, `linux/module.h`, `linux/pci.h`, `mcs.h`, `mcs_reg.h`.
- Detected declarations: `function mcs_get_tx_secy_stats`, `function mcs_get_rx_secy_stats`, `function mcs_get_flowid_stats`, `function mcs_get_port_stats`, `function mcs_get_sa_stats`, `function mcs_get_sc_stats`, `function mcs_clear_stats`, `function mcs_clear_all_stats`, `function mcs_pn_table_write`, `function cn10kb_mcs_tx_sa_mem_map_write`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: pattern implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.