drivers/scsi/qla4xxx/ql4_83xx.h
Source file repositories/reference/linux-study-clean/drivers/scsi/qla4xxx/ql4_83xx.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/qla4xxx/ql4_83xx.h- Extension
.h- Size
- 9761 bytes
- Lines
- 354
- 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 qla4_83xx_reset_template_hdrstruct qla4_83xx_reset_entry_hdrstruct qla4_83xx_pollstruct qla4_83xx_rmwstruct qla4_83xx_entrystruct qla4_83xx_quad_entrystruct qla4_83xx_reset_templatestruct qla83xx_minidump_entry_pollrdstruct qla8044_minidump_entry_rddfestruct qla8044_minidump_entry_rdmdiostruct qla8044_minidump_entry_pollwrstruct qla83xx_minidump_entry_rdmux2struct qla83xx_minidump_entry_pollrdmwrstruct qla4_83xx_idc_informationstruct qla4_83xx_minidump_entry_rdmem_pex_dmastruct qla4_83xx_pex_dma_descriptor
Annotated Snippet
struct qla4_83xx_reset_template_hdr {
__le16 version;
__le16 signature;
__le16 size;
__le16 entries;
__le16 hdr_size;
__le16 checksum;
__le16 init_seq_offset;
__le16 start_seq_offset;
} __packed;
/* Common Entry Header. */
struct qla4_83xx_reset_entry_hdr {
__le16 cmd;
__le16 size;
__le16 count;
__le16 delay;
} __packed;
/* Generic poll entry type. */
struct qla4_83xx_poll {
__le32 test_mask;
__le32 test_value;
} __packed;
/* Read modify write entry type. */
struct qla4_83xx_rmw {
__le32 test_mask;
__le32 xor_value;
__le32 or_value;
uint8_t shl;
uint8_t shr;
uint8_t index_a;
uint8_t rsvd;
} __packed;
/* Generic Entry Item with 2 DWords. */
struct qla4_83xx_entry {
__le32 arg1;
__le32 arg2;
} __packed;
/* Generic Entry Item with 4 DWords.*/
struct qla4_83xx_quad_entry {
__le32 dr_addr;
__le32 dr_value;
__le32 ar_addr;
__le32 ar_value;
} __packed;
struct qla4_83xx_reset_template {
int seq_index;
int seq_error;
int array_index;
uint32_t array[QLA83XX_MAX_RESET_SEQ_ENTRIES];
uint8_t *buff;
uint8_t *stop_offset;
uint8_t *start_offset;
uint8_t *init_offset;
struct qla4_83xx_reset_template_hdr *hdr;
uint8_t seq_end;
uint8_t template_end;
};
/* POLLRD Entry */
struct qla83xx_minidump_entry_pollrd {
struct qla8xxx_minidump_entry_hdr h;
uint32_t select_addr;
uint32_t read_addr;
uint32_t select_value;
uint16_t select_value_stride;
uint16_t op_count;
uint32_t poll_wait;
uint32_t poll_mask;
uint32_t data_size;
uint32_t rsvd_1;
};
struct qla8044_minidump_entry_rddfe {
struct qla8xxx_minidump_entry_hdr h;
uint32_t addr_1;
uint32_t value;
uint8_t stride;
uint8_t stride2;
uint16_t count;
uint32_t poll;
uint32_t mask;
uint32_t modify_mask;
uint32_t data_size;
uint32_t rsvd;
Annotation
- Detected declarations: `struct qla4_83xx_reset_template_hdr`, `struct qla4_83xx_reset_entry_hdr`, `struct qla4_83xx_poll`, `struct qla4_83xx_rmw`, `struct qla4_83xx_entry`, `struct qla4_83xx_quad_entry`, `struct qla4_83xx_reset_template`, `struct qla83xx_minidump_entry_pollrd`, `struct qla8044_minidump_entry_rddfe`, `struct qla8044_minidump_entry_rdmdio`.
- 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.