drivers/scsi/qla2xxx/qla_mr.h
Source file repositories/reference/linux-study-clean/drivers/scsi/qla2xxx/qla_mr.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/qla2xxx/qla_mr.h- Extension
.h- Size
- 13867 bytes
- Lines
- 530
- 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
qla_dsd.h
Detected Declarations
struct cmd_type_7_fx00struct sts_entry_fx00struct multi_sts_entry_fx00struct tsk_mgmt_entry_fx00struct abort_iocb_entry_fx00struct ioctl_iocb_entry_fx00struct fxdisc_entry_fx00struct qlafx00_tgt_node_infostruct port_info_datastruct host_system_infostruct register_host_infostruct config_info_datastruct qla_mt_iocb_rqst_fx00struct qla_mt_iocb_rsp_fx00struct mr_data_fx00
Annotated Snippet
struct cmd_type_7_fx00 {
uint8_t entry_type; /* Entry type. */
uint8_t entry_count; /* Entry count. */
uint8_t sys_define; /* System defined. */
uint8_t entry_status; /* Entry Status. */
uint32_t handle; /* System handle. */
uint8_t reserved_0;
uint8_t port_path_ctrl;
uint16_t reserved_1;
__le16 tgt_idx; /* Target Idx. */
uint16_t timeout; /* Command timeout. */
__le16 dseg_count; /* Data segment count. */
uint8_t scsi_rsp_dsd_len;
uint8_t reserved_2;
struct scsi_lun lun; /* LUN (LE). */
uint8_t cntrl_flags;
uint8_t task_mgmt_flags; /* Task management flags. */
uint8_t task;
uint8_t crn;
uint8_t fcp_cdb[MAX_CMDSZ]; /* SCSI command words. */
__le32 byte_count; /* Total byte count. */
struct dsd64 dsd;
};
#define STATUS_TYPE_FX00 0x01 /* Status entry. */
struct sts_entry_fx00 {
uint8_t entry_type; /* Entry type. */
uint8_t entry_count; /* Entry count. */
uint8_t sys_define; /* System defined. */
uint8_t entry_status; /* Entry Status. */
uint32_t handle; /* System handle. */
uint32_t reserved_3; /* System handle. */
__le16 comp_status; /* Completion status. */
uint16_t reserved_0; /* OX_ID used by the firmware. */
__le32 residual_len; /* FW calc residual transfer length. */
uint16_t reserved_1;
uint16_t state_flags; /* State flags. */
uint16_t reserved_2;
__le16 scsi_status; /* SCSI status. */
uint32_t sense_len; /* FCP SENSE length. */
uint8_t data[32]; /* FCP response/sense information. */
};
#define MAX_HANDLE_COUNT 15
#define MULTI_STATUS_TYPE_FX00 0x0D
struct multi_sts_entry_fx00 {
uint8_t entry_type; /* Entry type. */
uint8_t entry_count; /* Entry count. */
uint8_t handle_count;
uint8_t entry_status;
__le32 handles[MAX_HANDLE_COUNT];
};
#define TSK_MGMT_IOCB_TYPE_FX00 0x05
struct tsk_mgmt_entry_fx00 {
uint8_t entry_type; /* Entry type. */
uint8_t entry_count; /* Entry count. */
uint8_t sys_define;
uint8_t entry_status; /* Entry Status. */
uint32_t handle; /* System handle. */
uint32_t reserved_0;
__le16 tgt_id; /* Target Idx. */
uint16_t reserved_1;
uint16_t reserved_3;
uint16_t reserved_4;
struct scsi_lun lun; /* LUN (LE). */
Annotation
- Immediate include surface: `qla_dsd.h`.
- Detected declarations: `struct cmd_type_7_fx00`, `struct sts_entry_fx00`, `struct multi_sts_entry_fx00`, `struct tsk_mgmt_entry_fx00`, `struct abort_iocb_entry_fx00`, `struct ioctl_iocb_entry_fx00`, `struct fxdisc_entry_fx00`, `struct qlafx00_tgt_node_info`, `struct port_info_data`, `struct host_system_info`.
- 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.