include/linux/net/intel/libie/adminq.h
Source file repositories/reference/linux-study-clean/include/linux/net/intel/libie/adminq.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/net/intel/libie/adminq.h- Extension
.h- Size
- 12431 bytes
- Lines
- 401
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- 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
linux/build_bug.hlinux/types.h
Detected Declarations
struct libie_aqc_genericstruct libie_aqc_get_verstruct libie_aqc_driver_verstruct libie_aqc_req_resstruct libie_aqc_list_capsstruct libie_aqc_list_caps_elemstruct libie_aqc_fw_logstruct libie_aqc_fw_log_cfg_respstruct libie_aq_descenum libie_aq_res_idenum libie_aq_res_access_typeenum libie_adminq_opcenum libie_aqc_fw_logging_modenum libie_aq_err
Annotated Snippet
struct libie_aqc_generic {
__le32 param0;
__le32 param1;
__le32 addr_high;
__le32 addr_low;
};
LIBIE_CHECK_STRUCT_LEN(16, libie_aqc_generic);
/**
* struct libie_aqc_get_ver - Used in command get version (direct 0x0001)
* @rom_ver: rom version
* @fw_build: number coressponding to firmware build
* @fw_branch: branch identifier of firmware version
* @fw_major: major number of firmware version
* @fw_minor: minor number of firmware version
* @fw_patch: patch of firmware version
* @api_branch: brancch identifier of API version
* @api_major: major number of API version
* @api_minor: minor number of API version
* @api_patch: patch of API version
*/
struct libie_aqc_get_ver {
__le32 rom_ver;
__le32 fw_build;
u8 fw_branch;
u8 fw_major;
u8 fw_minor;
u8 fw_patch;
u8 api_branch;
u8 api_major;
u8 api_minor;
u8 api_patch;
};
LIBIE_CHECK_STRUCT_LEN(16, libie_aqc_get_ver);
/**
* struct libie_aqc_driver_ver - Used in command send driver version
* (indirect 0x0002)
* @major_ver: driver major version
* @minor_ver: driver minor version
* @build_ver: driver build version
* @subbuild_ver: driver subbuild version
* @reserved: for feature use
* @addr_high: high part of response address buff
* @addr_low: low part of response address buff
*/
struct libie_aqc_driver_ver {
u8 major_ver;
u8 minor_ver;
u8 build_ver;
u8 subbuild_ver;
u8 reserved[4];
__le32 addr_high;
__le32 addr_low;
};
LIBIE_CHECK_STRUCT_LEN(16, libie_aqc_driver_ver);
enum libie_aq_res_id {
LIBIE_AQC_RES_ID_NVM = 1,
LIBIE_AQC_RES_ID_SDP = 2,
LIBIE_AQC_RES_ID_CHNG_LOCK = 3,
LIBIE_AQC_RES_ID_GLBL_LOCK = 4,
};
enum libie_aq_res_access_type {
LIBIE_AQC_RES_ACCESS_READ = 1,
LIBIE_AQC_RES_ACCESS_WRITE = 2,
};
#define LIBIE_AQ_RES_NVM_READ_DFLT_TIMEOUT_MS 3000
#define LIBIE_AQ_RES_NVM_WRITE_DFLT_TIMEOUT_MS 180000
#define LIBIE_AQ_RES_CHNG_LOCK_DFLT_TIMEOUT_MS 1000
#define LIBIE_AQ_RES_GLBL_LOCK_DFLT_TIMEOUT_MS 3000
#define LIBIE_AQ_RES_GLBL_SUCCESS 0
#define LIBIE_AQ_RES_GLBL_IN_PROG 1
#define LIBIE_AQ_RES_GLBL_DONE 2
/**
* struct libie_aqc_req_res - Request resource ownership
* @res_id: resource ID (look at enum definition above)
* @access_type: read or write (enum definition above)
* @timeout: Upon successful completion, FW writes this value and driver is
* expected to release resource before timeout. This value is provided in
* milliseconds.
* @res_number: for SDP, this is the pin ID of the SDP
* @status: status only used for LIBIE_AQC_RES_ID_GLBL_LOCK, for others reserved
* @reserved: reserved for future use
*
* Used in commands:
Annotation
- Immediate include surface: `linux/build_bug.h`, `linux/types.h`.
- Detected declarations: `struct libie_aqc_generic`, `struct libie_aqc_get_ver`, `struct libie_aqc_driver_ver`, `struct libie_aqc_req_res`, `struct libie_aqc_list_caps`, `struct libie_aqc_list_caps_elem`, `struct libie_aqc_fw_log`, `struct libie_aqc_fw_log_cfg_resp`, `struct libie_aq_desc`, `enum libie_aq_res_id`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.