include/linux/pds/pds_core_if.h
Source file repositories/reference/linux-study-clean/include/linux/pds/pds_core_if.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/pds/pds_core_if.h- Extension
.h- Size
- 16699 bytes
- Lines
- 573
- 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.
- 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 pds_core_drv_identitystruct pds_core_dev_identitystruct pds_core_dev_identify_cmdstruct pds_core_dev_identify_compstruct pds_core_dev_reset_cmdstruct pds_core_dev_reset_compstruct pds_core_dev_init_data_instruct pds_core_dev_init_data_outstruct pds_core_dev_init_cmdstruct pds_core_dev_init_compstruct pds_core_fw_download_cmdstruct pds_core_fw_download_compstruct pds_core_fw_control_cmdstruct pds_core_fw_control_compstruct pds_core_fw_name_infostruct pds_core_fw_list_infostruct pds_core_vf_setattr_cmdstruct pds_core_vf_setattr_compstruct pds_core_vf_getattr_cmdstruct pds_core_vf_getattr_compstruct pds_core_vf_ctrl_cmdstruct pds_core_vf_ctrl_compstruct pds_core_dev_hwstamp_regsstruct pds_core_dev_info_regsstruct pds_core_dev_cmd_regsstruct pds_core_dev_regsenum pds_core_cmd_opcodeenum pds_core_status_codeenum pds_core_fw_control_operenum pds_core_fw_slotenum pds_core_vf_attrenum pds_core_vf_link_statusenum pds_core_vf_ctrl_opcode
Annotated Snippet
struct pds_core_drv_identity {
__le32 drv_type;
__le32 os_dist;
char os_dist_str[128];
__le32 kernel_ver;
char kernel_ver_str[32];
char driver_ver_str[32];
};
#define PDS_DEV_TYPE_MAX 16
/**
* struct pds_core_dev_identity - Device identity information
* @version: Version of device identify
* @type: Identify type (0 for now)
* @state: Device state
* @rsvd: Word boundary padding
* @nlifs: Number of LIFs provisioned
* @nintrs: Number of interrupts provisioned
* @ndbpgs_per_lif: Number of doorbell pages per LIF
* @intr_coal_mult: Interrupt coalescing multiplication factor
* Scale user-supplied interrupt coalescing
* value in usecs to device units using:
* device units = usecs * mult / div
* @intr_coal_div: Interrupt coalescing division factor
* Scale user-supplied interrupt coalescing
* value in usecs to device units using:
* device units = usecs * mult / div
* @vif_types: How many of each VIF device type is supported
*/
struct pds_core_dev_identity {
u8 version;
u8 type;
u8 state;
u8 rsvd;
__le32 nlifs;
__le32 nintrs;
__le32 ndbpgs_per_lif;
__le32 intr_coal_mult;
__le32 intr_coal_div;
__le16 vif_types[PDS_DEV_TYPE_MAX];
};
#define PDS_CORE_IDENTITY_VERSION_1 1
/**
* struct pds_core_dev_identify_cmd - Driver/device identify command
* @opcode: Opcode PDS_CORE_CMD_IDENTIFY
* @ver: Highest version of identify supported by driver
*
* Expects to find driver identification info (struct pds_core_drv_identity)
* in cmd_regs->data. Driver should keep the devcmd interface locked
* while preparing the driver info.
*/
struct pds_core_dev_identify_cmd {
u8 opcode;
u8 ver;
};
/**
* struct pds_core_dev_identify_comp - Device identify command completion
* @status: Status of the command (enum pds_core_status_code)
* @ver: Version of identify returned by device
*
* Device identification info (struct pds_core_dev_identity) can be found
* in cmd_regs->data. Driver should keep the devcmd interface locked
* while reading the results.
*/
struct pds_core_dev_identify_comp {
u8 status;
u8 ver;
};
/**
* struct pds_core_dev_reset_cmd - Device reset command
* @opcode: Opcode PDS_CORE_CMD_RESET
*
* Resets and clears all LIFs, VDevs, and VIFs on the device.
*/
struct pds_core_dev_reset_cmd {
u8 opcode;
};
/**
* struct pds_core_dev_reset_comp - Reset command completion
* @status: Status of the command (enum pds_core_status_code)
*/
struct pds_core_dev_reset_comp {
u8 status;
};
Annotation
- Detected declarations: `struct pds_core_drv_identity`, `struct pds_core_dev_identity`, `struct pds_core_dev_identify_cmd`, `struct pds_core_dev_identify_comp`, `struct pds_core_dev_reset_cmd`, `struct pds_core_dev_reset_comp`, `struct pds_core_dev_init_data_in`, `struct pds_core_dev_init_data_out`, `struct pds_core_dev_init_cmd`, `struct pds_core_dev_init_comp`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.