drivers/scsi/qla2xxx/qla_nx2.h
Source file repositories/reference/linux-study-clean/drivers/scsi/qla2xxx/qla_nx2.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/qla2xxx/qla_nx2.h- Extension
.h- Size
- 16193 bytes
- Lines
- 580
- 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.
- 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 qla8044_reset_template_hdrstruct qla8044_reset_entry_hdrstruct qla8044_pollstruct qla8044_rmwstruct qla8044_entrystruct qla8044_quad_entrystruct qla8044_reset_templatestruct qla8044_minidump_entry_hdrstruct qla8044_minidump_entry_crbstruct qla8044_minidump_entry_cachestruct qla8044_minidump_entry_rdocmstruct qla8044_minidump_entry_rdmemstruct qla8044_minidump_entry_rdmem_pex_dmastruct qla8044_minidump_entry_rdromstruct qla8044_minidump_entry_muxstruct qla8044_minidump_entry_queuestruct qla8044_minidump_entry_pollrdstruct qla8044_minidump_entry_rddfestruct qla8044_minidump_entry_rdmdiostruct qla8044_minidump_entry_pollwrstruct qla8044_minidump_entry_rdmux2struct qla8044_minidump_entry_pollrdmwrstruct qla8044_idc_informationstruct qla8044_minidump_template_hdrstruct qla8044_pex_dma_descriptorenum qla_regsfunction Copyright
Annotated Snippet
struct qla8044_reset_template_hdr {
uint16_t version;
uint16_t signature;
uint16_t size;
uint16_t entries;
uint16_t hdr_size;
uint16_t checksum;
uint16_t init_seq_offset;
uint16_t start_seq_offset;
} __packed;
/* Common Entry Header. */
struct qla8044_reset_entry_hdr {
uint16_t cmd;
uint16_t size;
uint16_t count;
uint16_t delay;
} __packed;
/* Generic poll entry type. */
struct qla8044_poll {
uint32_t test_mask;
uint32_t test_value;
} __packed;
/* Read modify write entry type. */
struct qla8044_rmw {
uint32_t test_mask;
uint32_t xor_value;
uint32_t or_value;
uint8_t shl;
uint8_t shr;
uint8_t index_a;
uint8_t rsvd;
} __packed;
/* Generic Entry Item with 2 DWords. */
struct qla8044_entry {
uint32_t arg1;
uint32_t arg2;
} __packed;
/* Generic Entry Item with 4 DWords.*/
struct qla8044_quad_entry {
uint32_t dr_addr;
uint32_t dr_value;
uint32_t ar_addr;
uint32_t ar_value;
} __packed;
struct qla8044_reset_template {
int seq_index;
int seq_error;
int array_index;
uint32_t array[QLA8044_MAX_RESET_SEQ_ENTRIES];
uint8_t *buff;
uint8_t *stop_offset;
uint8_t *start_offset;
uint8_t *init_offset;
struct qla8044_reset_template_hdr *hdr;
uint8_t seq_end;
uint8_t template_end;
};
/* Driver_code is for driver to write some info about the entry
* currently not used.
*/
struct qla8044_minidump_entry_hdr {
uint32_t entry_type;
uint32_t entry_size;
uint32_t entry_capture_size;
struct {
uint8_t entry_capture_mask;
uint8_t entry_code;
uint8_t driver_code;
uint8_t driver_flags;
} d_ctrl;
} __packed;
/* Read CRB entry header */
struct qla8044_minidump_entry_crb {
struct qla8044_minidump_entry_hdr h;
uint32_t addr;
struct {
uint8_t addr_stride;
uint8_t state_index_a;
uint16_t poll_timeout;
} crb_strd;
uint32_t data_size;
uint32_t op_count;
Annotation
- Detected declarations: `struct qla8044_reset_template_hdr`, `struct qla8044_reset_entry_hdr`, `struct qla8044_poll`, `struct qla8044_rmw`, `struct qla8044_entry`, `struct qla8044_quad_entry`, `struct qla8044_reset_template`, `struct qla8044_minidump_entry_hdr`, `struct qla8044_minidump_entry_crb`, `struct qla8044_minidump_entry_cache`.
- Atlas domain: Driver Families / drivers/scsi.
- 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.