drivers/scsi/esas2r/atioctl.h
Source file repositories/reference/linux-study-clean/drivers/scsi/esas2r/atioctl.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/esas2r/atioctl.h- Extension
.h- Size
- 31770 bytes
- Lines
- 1256
- 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
atvda.h
Detected Declarations
struct atto_csmi_get_driver_infostruct atto_csmi_get_pci_bus_addrstruct atto_csmi_get_cntlr_cfgstruct atto_csmi_get_cntlr_stsstruct atto_csmi_fw_downloadstruct atto_csmi_get_raid_infostruct atto_csmi_raid_drivesstruct atto_csmi_get_raid_cfgstruct atto_csmi_phy_entitystruct atto_csmi_get_phy_infostruct atto_csmi_set_phy_infostruct atto_csmi_get_link_errorsstruct atto_csmi_smp_passthrustruct atto_csmi_ssp_passthru_stsstruct atto_csmi_ssp_passthrustruct atto_csmi_stp_passthru_stsstruct atto_csmi_stp_passthrustruct atto_csmi_get_sata_sigstruct atto_csmi_get_scsi_addrstruct atto_csmi_get_dev_addrstruct atto_csmi_task_mgmtstruct atto_csmi_get_conn_infostruct atto_csmi_characterstruct atto_csmi_pc_ctrlstruct atto_csmi_phy_ctrlstruct atto_csmistruct atto_module_infostruct atto_ioctl
Annotated Snippet
struct atto_csmi_get_driver_info {
char name[81];
char description[81];
u16 major_rev;
u16 minor_rev;
u16 build_rev;
u16 release_rev;
u16 csmi_major_rev;
u16 csmi_minor_rev;
#define CSMI_MAJOR_REV_0_81 0
#define CSMI_MINOR_REV_0_81 81
#define CSMI_MAJOR_REV CSMI_MAJOR_REV_0_81
#define CSMI_MINOR_REV CSMI_MINOR_REV_0_81
};
struct atto_csmi_get_pci_bus_addr {
u8 bus_num;
u8 device_num;
u8 function_num;
u8 reserved;
};
struct atto_csmi_get_cntlr_cfg {
u32 base_io_addr;
struct {
u32 base_memaddr_lo;
u32 base_memaddr_hi;
};
u32 board_id;
u16 slot_num;
#define CSMI_SLOT_NUM_UNKNOWN 0xFFFF
u8 cntlr_class;
#define CSMI_CNTLR_CLASS_HBA 5
u8 io_bus_type;
#define CSMI_BUS_TYPE_PCI 3
#define CSMI_BUS_TYPE_PCMCIA 4
union {
struct atto_csmi_get_pci_bus_addr pci_addr;
u8 reserved[32];
};
char serial_num[81];
u16 major_rev;
u16 minor_rev;
u16 build_rev;
u16 release_rev;
u16 bios_major_rev;
u16 bios_minor_rev;
u16 bios_build_rev;
u16 bios_release_rev;
u32 cntlr_flags;
#define CSMI_CNTLRF_SAS_HBA 0x00000001
#define CSMI_CNTLRF_SAS_RAID 0x00000002
#define CSMI_CNTLRF_SATA_HBA 0x00000004
#define CSMI_CNTLRF_SATA_RAID 0x00000008
#define CSMI_CNTLRF_FWD_SUPPORT 0x00010000
#define CSMI_CNTLRF_FWD_ONLINE 0x00020000
#define CSMI_CNTLRF_FWD_SRESET 0x00040000
#define CSMI_CNTLRF_FWD_HRESET 0x00080000
#define CSMI_CNTLRF_FWD_RROM 0x00100000
u16 rrom_major_rev;
u16 rrom_minor_rev;
u16 rrom_build_rev;
u16 rrom_release_rev;
u16 rrom_biosmajor_rev;
u16 rrom_biosminor_rev;
u16 rrom_biosbuild_rev;
u16 rrom_biosrelease_rev;
u8 reserved2[7];
};
struct atto_csmi_get_cntlr_sts {
u32 status;
#define CSMI_CNTLR_STS_GOOD 1
#define CSMI_CNTLR_STS_FAILED 2
#define CSMI_CNTLR_STS_OFFLINE 3
#define CSMI_CNTLR_STS_POWEROFF 4
u32 offline_reason;
#define CSMI_OFFLINE_NO_REASON 0
#define CSMI_OFFLINE_INITIALIZING 1
#define CSMI_OFFLINE_BUS_DEGRADED 2
#define CSMI_OFFLINE_BUS_FAILURE 3
Annotation
- Immediate include surface: `atvda.h`.
- Detected declarations: `struct atto_csmi_get_driver_info`, `struct atto_csmi_get_pci_bus_addr`, `struct atto_csmi_get_cntlr_cfg`, `struct atto_csmi_get_cntlr_sts`, `struct atto_csmi_fw_download`, `struct atto_csmi_get_raid_info`, `struct atto_csmi_raid_drives`, `struct atto_csmi_get_raid_cfg`, `struct atto_csmi_phy_entity`, `struct atto_csmi_get_phy_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.