drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
Source file repositories/reference/linux-study-clean/drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h- Extension
.h- Size
- 133878 bytes
- Lines
- 2653
- Domain
- Driver Families
- Bucket
- drivers/scsi
- 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.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct mpi3_config_requeststruct mpi3_config_page_headerstruct mpi3_man_page0struct mpi3_man_page1struct mpi3_man_page2struct mpi3_man5_phy_entrystruct mpi3_man_page5struct mpi3_man6_gpio_entrystruct mpi3_man_page6struct mpi3_man7_receptacle_infostruct mpi3_man_page7struct mpi3_man8_phy_infostruct mpi3_man_page8struct mpi3_man9_rsrc_entrystruct mpi3_man_page9struct mpi3_man10_istwi_ctrlr_entrystruct mpi3_man_page10struct mpi3_man11_mux_device_formatstruct mpi3_man11_temp_sensor_device_formatstruct mpi3_man11_seeprom_device_formatstruct mpi3_man11_ddr_spd_device_formatstruct mpi3_man11_cable_mgmt_device_formatstruct mpi3_man11_bkplane_spec_ubm_formatstruct mpi3_man11_bkplane_spec_non_ubm_formatstruct mpi3_man11_bkplane_mgmt_device_formatstruct mpi3_man11_gas_gauge_device_formatstruct mpi3_man11_mgmt_ctrlr_device_formatstruct mpi3_man11_board_fan_device_formatstruct mpi3_man11_istwi_device_formatstruct mpi3_man_page11struct mpi3_man12_sgpio_infostruct mpi3_man_page12struct mpi3_man13_translation_infostruct mpi3_man_page13struct mpi3_man_page14struct mpi3_man15_version_recordstruct mpi3_man_page15struct mpi3_man16_certificate_algorithmstruct mpi3_man_page16struct mpi3_man17_hash_algorithmstruct mpi3_man_page17struct mpi3_man_page20struct mpi3_man_page21struct mpi3_man_page_product_specificstruct mpi3_io_unit_page0struct mpi3_io_unit_page1struct mpi3_io_unit_page2struct mpi3_io_unit3_sensor
Annotated Snippet
struct mpi3_config_request {
__le16 host_tag;
u8 ioc_use_only02;
u8 function;
__le16 ioc_use_only04;
u8 ioc_use_only06;
u8 msg_flags;
__le16 change_count;
u8 proxy_ioc_number;
u8 reserved0b;
u8 page_version;
u8 page_number;
u8 page_type;
u8 action;
__le32 page_address;
__le16 page_length;
__le16 reserved16;
__le32 reserved18[2];
union mpi3_sge_union sgl;
};
struct mpi3_config_page_header {
u8 page_version;
u8 reserved01;
u8 page_number;
u8 page_attribute;
__le16 page_length;
u8 page_type;
u8 reserved07;
};
#define MPI3_SAS_NEG_LINK_RATE_LOGICAL_MASK (0xf0)
#define MPI3_SAS_NEG_LINK_RATE_LOGICAL_SHIFT (4)
#define MPI3_SAS_NEG_LINK_RATE_PHYSICAL_MASK (0x0f)
#define MPI3_SAS_NEG_LINK_RATE_PHYSICAL_SHIFT (0)
#define MPI3_SAS_NEG_LINK_RATE_UNKNOWN_LINK_RATE (0x00)
#define MPI3_SAS_NEG_LINK_RATE_PHY_DISABLED (0x01)
#define MPI3_SAS_NEG_LINK_RATE_NEGOTIATION_FAILED (0x02)
#define MPI3_SAS_NEG_LINK_RATE_SATA_OOB_COMPLETE (0x03)
#define MPI3_SAS_NEG_LINK_RATE_PORT_SELECTOR (0x04)
#define MPI3_SAS_NEG_LINK_RATE_SMP_RESET_IN_PROGRESS (0x05)
#define MPI3_SAS_NEG_LINK_RATE_UNSUPPORTED_PHY (0x06)
#define MPI3_SAS_NEG_LINK_RATE_1_5 (0x08)
#define MPI3_SAS_NEG_LINK_RATE_3_0 (0x09)
#define MPI3_SAS_NEG_LINK_RATE_6_0 (0x0a)
#define MPI3_SAS_NEG_LINK_RATE_12_0 (0x0b)
#define MPI3_SAS_NEG_LINK_RATE_22_5 (0x0c)
#define MPI3_SAS_APHYINFO_INSIDE_ZPSDS_PERSISTENT (0x00000040)
#define MPI3_SAS_APHYINFO_REQUESTED_INSIDE_ZPSDS (0x00000020)
#define MPI3_SAS_APHYINFO_BREAK_REPLY_CAPABLE (0x00000010)
#define MPI3_SAS_APHYINFO_REASON_MASK (0x0000000f)
#define MPI3_SAS_APHYINFO_REASON_UNKNOWN (0x00000000)
#define MPI3_SAS_APHYINFO_REASON_POWER_ON (0x00000001)
#define MPI3_SAS_APHYINFO_REASON_HARD_RESET (0x00000002)
#define MPI3_SAS_APHYINFO_REASON_SMP_PHY_CONTROL (0x00000003)
#define MPI3_SAS_APHYINFO_REASON_LOSS_OF_SYNC (0x00000004)
#define MPI3_SAS_APHYINFO_REASON_MULTIPLEXING_SEQ (0x00000005)
#define MPI3_SAS_APHYINFO_REASON_IT_NEXUS_LOSS_TIMER (0x00000006)
#define MPI3_SAS_APHYINFO_REASON_BREAK_TIMEOUT (0x00000007)
#define MPI3_SAS_APHYINFO_REASON_PHY_TEST_STOPPED (0x00000008)
#define MPI3_SAS_APHYINFO_REASON_EXP_REDUCED_FUNC (0x00000009)
#define MPI3_SAS_PHYINFO_STATUS_MASK (0xc0000000)
#define MPI3_SAS_PHYINFO_STATUS_SHIFT (30)
#define MPI3_SAS_PHYINFO_STATUS_ACCESSIBLE (0x00000000)
#define MPI3_SAS_PHYINFO_STATUS_NOT_EXIST (0x40000000)
#define MPI3_SAS_PHYINFO_STATUS_VACANT (0x80000000)
#define MPI3_SAS_PHYINFO_PHY_POWER_CONDITION_MASK (0x18000000)
#define MPI3_SAS_PHYINFO_PHY_POWER_CONDITION_ACTIVE (0x00000000)
#define MPI3_SAS_PHYINFO_PHY_POWER_CONDITION_PARTIAL (0x08000000)
#define MPI3_SAS_PHYINFO_PHY_POWER_CONDITION_SLUMBER (0x10000000)
#define MPI3_SAS_PHYINFO_REQUESTED_INSIDE_ZPSDS_CHANGED_MASK (0x04000000)
#define MPI3_SAS_PHYINFO_REQUESTED_INSIDE_ZPSDS_CHANGED_SHIFT (26)
#define MPI3_SAS_PHYINFO_INSIDE_ZPSDS_PERSISTENT_MASK (0x02000000)
#define MPI3_SAS_PHYINFO_INSIDE_ZPSDS_PERSISTENT_SHIFT (25)
#define MPI3_SAS_PHYINFO_REQUESTED_INSIDE_ZPSDS_MASK (0x01000000)
#define MPI3_SAS_PHYINFO_REQUESTED_INSIDE_ZPSDS_SHIFT (24)
#define MPI3_SAS_PHYINFO_ZONE_GROUP_PERSISTENT (0x00400000)
#define MPI3_SAS_PHYINFO_INSIDE_ZPSDS_WITHIN (0x00200000)
#define MPI3_SAS_PHYINFO_ZONING_ENABLED (0x00100000)
#define MPI3_SAS_PHYINFO_REASON_MASK (0x000f0000)
#define MPI3_SAS_PHYINFO_REASON_UNKNOWN (0x00000000)
#define MPI3_SAS_PHYINFO_REASON_POWER_ON (0x00010000)
#define MPI3_SAS_PHYINFO_REASON_HARD_RESET (0x00020000)
#define MPI3_SAS_PHYINFO_REASON_SMP_PHY_CONTROL (0x00030000)
#define MPI3_SAS_PHYINFO_REASON_LOSS_OF_SYNC (0x00040000)
#define MPI3_SAS_PHYINFO_REASON_MULTIPLEXING_SEQ (0x00050000)
#define MPI3_SAS_PHYINFO_REASON_IT_NEXUS_LOSS_TIMER (0x00060000)
#define MPI3_SAS_PHYINFO_REASON_BREAK_TIMEOUT (0x00070000)
#define MPI3_SAS_PHYINFO_REASON_PHY_TEST_STOPPED (0x00080000)
#define MPI3_SAS_PHYINFO_REASON_EXP_REDUCED_FUNC (0x00090000)
Annotation
- Detected declarations: `struct mpi3_config_request`, `struct mpi3_config_page_header`, `struct mpi3_man_page0`, `struct mpi3_man_page1`, `struct mpi3_man_page2`, `struct mpi3_man5_phy_entry`, `struct mpi3_man_page5`, `struct mpi3_man6_gpio_entry`, `struct mpi3_man_page6`, `struct mpi3_man7_receptacle_info`.
- Atlas domain: Driver Families / drivers/scsi.
- Implementation status: source 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.