* @cdw14: Command Dword 14 (command specific)
* @cdw15: Command Dword 15 (command specific)
* @timeout_ms: If non-zero, overrides system default timeout in milliseconds
- * @rsvd2: Reserved for future use (and fills an impicit struct pad
+ * @rsvd2: Reserved for future use (and fills an implicit struct pad
* @result: Set on completion to the command's CQE DWORD 0-1 controller response
*/
struct nvme_passthru_cmd64 {
* @cdw14: Command Dword 14 (command specific)
* @cdw15: Command Dword 15 (command specific)
* @timeout_ms: If non-zero, overrides system default timeout in milliseconds
- * @rsvd2: Reserved for future use (and fills an impicit struct pad
+ * @rsvd2: Reserved for future use (and fills an implicit struct pad
*/
struct nvme_uring_cmd {
__u8 opcode;
#endif /* _LINUX_NVME_IOCTL_H */
/**
- * Helper function used to determine structure sizes
+ * sizeof_args - Helper function used to determine structure sizes
+ * @type: Argument structure type
+ * @member: Member inside the type
+ * @align: Alignment information
*/
#define sizeof_args(type, member, align) \
({ \
* @fd: File descriptor of nvme device
* @opcode: The nvme io command to send
* @flags: NVMe command flags (not used)
- * @rsvd: Reserevd for future use
+ * @rsvd: Reserved for future use
* @nsid: Namespace identifier
* @cdw2: Command dword 2
* @cdw3: Command dword 3
* @cdw13: Command dword 13
* @cdw14: Command dword 14
* @cdw15: Command dword 15
- * @data_len: Length of the data transfered in this command in bytes
+ * @data_len: Length of the data transferred in this command in bytes
* @data: Pointer to user address of the data buffer
- * @metadata_len:Length of metadata transfered in this command
+ * @metadata_len:Length of metadata transferred in this command
* @metadata: Pointer to user address of the metadata buffer
* @timeout_ms: How long the kernel waits for the command to complete
* @result: Optional field to return the result from the CQE dword 0
* @fd: File descriptor of nvme device
* @opcode: The nvme io command to send
* @flags: NVMe command flags (not used)
- * @rsvd: Reserevd for future use
+ * @rsvd: Reserved for future use
* @nsid: Namespace identifier
* @cdw2: Command dword 2
* @cdw3: Command dword 3
* @cdw13: Command dword 13
* @cdw14: Command dword 14
* @cdw15: Command dword 15
- * @data_len: Length of the data transfered in this command in bytes
+ * @data_len: Length of the data transferred in this command in bytes
* @data: Pointer to user address of the data buffer
- * @metadata_len:Length of metadata transfered in this command
+ * @metadata_len:Length of metadata transferred in this command
* @metadata: Pointer to user address of the metadata buffer
* @timeout_ms: How long the kernel waits for the command to complete
* @result: Optional field to return the result from the CQE dword 0
* @fd: File descriptor of nvme device
* @opcode: The nvme io command to send
* @flags: NVMe command flags (not used)
- * @rsvd: Reserevd for future use
+ * @rsvd: Reserved for future use
* @nsid: Namespace identifier
* @cdw2: Command dword 2
* @cdw3: Command dword 3
* @cdw13: Command dword 13
* @cdw14: Command dword 14
* @cdw15: Command dword 15
- * @data_len: Length of the data transfered in this command in bytes
+ * @data_len: Length of the data transferred in this command in bytes
* @data: Pointer to user address of the data buffer
- * @metadata_len:Length of metadata transfered in this command
+ * @metadata_len:Length of metadata transferred in this command
* @metadata: Pointer to user address of the metadata buffer
* @timeout_ms: How long the kernel waits for the command to complete
* @result: Optional field to return the result from the CQE dword 0
* @fd: File descriptor of nvme device
* @opcode: The nvme io command to send
* @flags: NVMe command flags (not used)
- * @rsvd: Reserevd for future use
+ * @rsvd: Reserved for future use
* @nsid: Namespace identifier
* @cdw2: Command dword 2
* @cdw3: Command dword 3
* @cdw13: Command dword 13
* @cdw14: Command dword 14
* @cdw15: Command dword 15
- * @data_len: Length of the data transfered in this command in bytes
+ * @data_len: Length of the data transferred in this command in bytes
* @data: Pointer to user address of the data buffer
- * @metadata_len:Length of metadata transfered in this command
+ * @metadata_len:Length of metadata transferred in this command
* @metadata: Pointer to user address of the metadata buffer
* @timeout_ms: How long the kernel waits for the command to complete
* @result: Optional field to return the result from the CQE dword 0
/**
* nvme_identify_active_ns_list() - Retrieves active namespaces id list
* @fd: File descriptor of nvme device
- * @nsid: Return namespaces greater than this identifer
+ * @nsid: Return namespaces greater than this identifier
* @list: User space destination address to transfer the data
*
* A list of 1024 namespace IDs is returned to the host containing NSIDs in
/**
* nvme_identify_allocated_ns_list() - Retrieves allocated namespace id list
* @fd: File descriptor of nvme device
- * @nsid: Return namespaces greater than this identifer
+ * @nsid: Return namespaces greater than this identifier
* @list: User space destination address to transfer the data
*
* A list of 1024 namespace IDs is returned to the host containing NSIDs in
/**
* nvme_identify_ns_descs() - Retrieves namespace descriptor list
* @fd: File descriptor of nvme device
- * @nsid: The namespace id to retrieve destriptors
+ * @nsid: The namespace id to retrieve descriptors
* @descs: User space destination address to transfer the data
*
* A list of Namespace Identification Descriptor structures is returned to the
* host for the namespace specified in the Namespace Identifier (NSID) field if
* it is an active NSID.
*
- * The data returned is in the form of an arrray of 'struct nvme_ns_id_desc'.
+ * The data returned is in the form of an array of 'struct nvme_ns_id_desc'.
*
* See &struct nvme_ns_id_desc for the definition of the returned structure.
*
* Identifier supported by the NVM subsystem that is equal to or greater than
* the NVM Set Identifier.
*
- * See &struct nvme_id_nvmset_list for the defintion of the returned structure.
+ * See &struct nvme_id_nvmset_list for the definition of the returned structure.
*
* Return: The nvme command status if a response was received (see
* &enum nvme_status_field) or -1 with errno set otherwise.
* @cntid: Return controllers starting at this identifier
* @cap: User space destination buffer address to transfer the data
*
- * See &struct nvme_primary_ctrl_cap for the defintion of the returned structure, @cap.
+ * See &struct nvme_primary_ctrl_cap for the definition of the returned structure, @cap.
*
* Return: The nvme command status if a response was received (see
* &enum nvme_status_field) or -1 with errno set otherwise.
* The list contains entries for controller identifiers greater than or equal
* to the value specified in the Controller Identifier (cntid).
*
- * See &struct nvme_secondary_ctrls_list for a defintion of the returned
+ * See &struct nvme_secondary_ctrls_list for a definition of the returned
* structure.
*
* Return: The nvme command status if a response was received (see
* @csi: Command Set Identifier
* @data: User space destination address to transfer the data
*
- * An I/O Command Set specific Identify Namespace data structre is returned
+ * An I/O Command Set specific Identify Namespace data structure is returned
* for the namespace specified in @nsid.
*
* Return: The nvme command status if a response was received (see
}
/**
- * nvme_identify_ns_csi_user_data_format() -
+ * nvme_identify_ns_csi_user_data_format() - Identify namespace user data format
* @fd: File descriptor of nvme device
* @user_data_format: Return namespaces capability of identifier
* @uuidx: UUID selection, if supported
* @csi: Command Set Identifier
+ * @data: User space destination address to transfer the data
*
* Identify Namespace data structure for the specified User Data Format
* index containing the namespace capabilities for the NVM Command Set.
}
/**
- * nvme_identify_iocs_ns_csi_user_data_format() -
+ * nvme_identify_iocs_ns_csi_user_data_format() - Identify I/O command set namespace data structure
* @fd: File descriptor of nvme device
* @user_data_format: Return namespaces capability of identifier
* @uuidx: UUID selection, if supported
* @csi: Command Set Identifier
+ * @data: User space destination address to transfer the data
*
* I/O Command Set specific Identify Namespace data structure for
* the specified User Data Format index containing the namespace
* nvme_identify_domain_list() - Domain list data
* @fd: File descriptor of nvme device
* @domid: Domain ID
- * @list: User space destiantion address to transfer data
+ * @list: User space destination address to transfer data
*
* A list of 31 domain IDs is returned to the host containing domain
* attributes in increasing order that are greater than the value
* nvme_get_log_create_telemetry_host() - Create host telemetry log
* @fd: File descriptor of nvme device
* @log: Userspace address of the log payload
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_create_telemetry_host(int fd,
struct nvme_telemetry_log *log)
}
/**
- * nvme_get_log_telemetry_host() -
+ * nvme_get_log_telemetry_host() - Get Telemetry Host-Initiated log page
* @fd: File descriptor of nvme device
* @offset: Offset into the telemetry data
* @len: Length of provided user buffer to hold the log data in bytes
* @log: User address for log page data
*
- * Retreives the Telemetry Host-Initiated log page at the requested offset
+ * Retrieves the Telemetry Host-Initiated log page at the requested offset
* using the previously existing capture.
*
* Return: The nvme command status if a response was received (see
}
/**
- * nvme_get_log_telemetry_ctrl() -
+ * nvme_get_log_telemetry_ctrl() - Get Telemetry Controller-Initiated log page
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @offset: Offset into the telemetry data
* @len: Length of provided user buffer to hold the log data in bytes
* @log: User address for log page data
+ *
+ * Retrieves the Telemetry Controller-Initiated log page at the requested offset
+ * using the previously existing capture.
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_telemetry_ctrl(int fd, bool rae,
__u64 offset, __u32 len, void *log)
}
/**
- * nvme_get_log_endurance_group() -
+ * nvme_get_log_endurance_group() - Get Endurance Group log
* @fd: File descriptor of nvme device
* @endgid: Starting group identifier to return in the list
* @log: User address to store the endurance log
}
/**
- * nvme_get_log_predictable_lat_nvmset() -
+ * nvme_get_log_predictable_lat_nvmset() - Predictable Latency Per NVM Set
* @fd: File descriptor of nvme device
* @nvmsetid: NVM set id
* @log: User address to store the predictable latency log
}
/**
- * nvme_get_log_predictable_lat_event() -
+ * nvme_get_log_predictable_lat_event() - Retrieve Predictable Latency Event Aggregate Log Page
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @offset: Offset into the predictable latency event
* @len: Length of provided user buffer to hold the log data in bytes
* @log: User address for log page data
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_predictable_lat_event(int fd, bool rae,
__u32 offset, __u32 len, void *log)
}
/**
- * nvme_get_log_ana() -
+ * nvme_get_log_ana() - Retrieve Asymmetric Namespace Access log page
* @fd: File descriptor of nvme device
* @lsp: Log specific, see &enum nvme_get_log_ana_lsp
* @rae: Retain asynchronous events
* @offset: Offset to the start of the log page
* @len: The allocated length of the log page
- * @log: User address to store the ana log
+ * @log: User address to store the ana log
*
* This log consists of a header describing the log and descriptors containing
* the asymmetric namespace access information for ANA Groups that contain
* namespaces that are attached to the controller processing the command.
*
- * See &struct nvme_ana_rsp_hdr for the defintion of the returned structure.
+ * See &struct nvme_ana_rsp_hdr for the definition of the returned structure.
*
* Return: The nvme command status if a response was received (see
* &enum nvme_status_field) or -1 with errno set otherwise.
}
/**
- * nvme_get_log_ana_groups() -
+ * nvme_get_log_ana_groups() - Retrieve Asymmetric Namespace Access groups only log page
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @len: The allocated length of the log page
- * @log: User address to store the ana group log
+ * @log: User address to store the ana group log
+ *
+ * See &struct nvme_ana_group_desc for the definition of the returned structure.
*
- * See &struct nvme_ana_group_desc for the defintion of the returned structure.
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_ana_groups(int fd, bool rae, __u32 len,
struct nvme_ana_group_desc *log)
}
/**
- * nvme_get_log_lba_status() -
+ * nvme_get_log_lba_status() - Retrieve LBA Status
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @offset: Offset to the start of the log page
* @len: The allocated length of the log page
- * @log: User address to store the log page
+ * @log: User address to store the log page
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_lba_status(int fd, bool rae,
__u64 offset, __u32 len, void *log)
}
/**
- * nvme_get_log_endurance_grp_evt() -
+ * nvme_get_log_endurance_grp_evt() - Retrieve Rotational Media Information
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @offset: Offset to the start of the log page
* @len: The allocated length of the log page
- * @log: User address to store the log page
+ * @log: User address to store the log page
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_endurance_grp_evt(int fd, bool rae,
__u32 offset, __u32 len, void *log)
}
/**
- * nvme_get_log_fid_supported_effects() -
+ * nvme_get_log_fid_supported_effects() - Retrieve Feature Identifiers Supported and Effects
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @log: FID Supported and Effects data structure
}
/**
- * nvme_get_log_mi_cmd_supported_effects() - displays the MI Commands Supported byt the controller
+ * nvme_get_log_mi_cmd_supported_effects() - displays the MI Commands Supported by the controller
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @log: MI Command Supported and Effects data structure
}
/**
- * nvme_get_log_boot_partition() -
+ * nvme_get_log_boot_partition() - Retrieve Boot Partition
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @lsp: The log specified field of LID
* @len: The allocated size, minimum
* struct nvme_boot_partition
- * @part: User address to store the log page
+ * @part: User address to store the log page
*
* Return: The nvme command status if a response was received (see
* &enum nvme_status_field) or -1 with errno set otherwise
}
/**
- * nvme_get_log_discovery() -
+ * nvme_get_log_discovery() - Retrieve Discovery log page
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @offset: Offset of this log to retrieve
}
/**
- * nvme_get_log_media_unit_stat() -
+ * nvme_get_log_media_unit_stat() - Retrieve Media Unit Status
* @fd: File descriptor of nvme device
* @domid: Domain Identifier selection, if supported
* @mus: User address to store the Media Unit statistics log
}
/**
- * nvme_get_log_support_cap_config_list() -
+ * nvme_get_log_support_cap_config_list() - Retrieve Supported Capacity Configuration List
* @fd: File descriptor of nvme device
* @domid: Domain Identifier selection, if supported
+ * @cap: User address to store supported capabilities config list
*
* Return: The nvme command status if a response was received (see
* &enum nvme_status_field) or -1 with errno set otherwise
}
/**
- * nvme_get_log_reservation() -
+ * nvme_get_log_reservation() - Retrieve Reservation Notification
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @log: User address to store the reservation log
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise
*/
static inline int nvme_get_log_reservation(int fd, bool rae,
struct nvme_resv_notification_log *log)
}
/**
- * nvme_get_log_sanitize() -
+ * nvme_get_log_sanitize() - Retrieve Sanitize Status
* @fd: File descriptor of nvme device
* @rae: Retain asynchronous events
* @log: User address to store the sanitize log
}
/**
- * nvme_get_log_zns_changed_zones() -
+ * nvme_get_log_zns_changed_zones() - Retrieve list of zones that have changed
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @rae: Retain asynchronous events
}
/**
- * nvme_get_log_persistent_event() -
+ * nvme_get_log_persistent_event() - Retrieve Persistent Event Log
* @fd: File descriptor of nvme device
* @action: Action the controller should take during processing this command
* @size: Size of @pevent_log
* @pevent_log: User address to store the persistent event log
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_log_persistent_event(int fd,
enum nvme_pevent_log_action action,
* @data_len: Length of feature data, if applicable, in bytes
* @data: User address of feature data, if applicable
* @result: The command completion result from CQE dword0
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_set_features_data(int fd, __u8 fid, __u32 nsid,
__u32 cdw11, bool save, __u32 data_len, void *data,
}
/**
- * nvme_set_features_simple() - Helper functionn for @nvme_set_features()
+ * nvme_set_features_simple() - Helper function for @nvme_set_features()
* @fd: File descriptor of nvme device
* @fid: Feature identifier
* @nsid: Namespace ID, if applicable
* @cdw11: Value to set the feature to
* @save: Save value across power states
* @result: The command completion result from CQE dword0
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_set_features_simple(int fd, __u8 fid, __u32 nsid,
__u32 cdw11, bool save, __u32 *result)
}
/**
- * nvme_set_features_arbitration() -
+ * nvme_set_features_arbitration() - Set arbitration features
* @fd: File descriptor of nvme device
* @ab: Arbitration Burst
* @lpw: Low Priority Weight
__u8 hpw, bool save, __u32 *result);
/**
- * nvme_set_features_power_mgmt() -
+ * nvme_set_features_power_mgmt() - Set power management feature
* @fd: File descriptor of nvme device
* @ps: Power State
* @wh: Workload Hint
__u32 *result);
/**
- * nvme_set_features_lba_range() -
+ * nvme_set_features_lba_range() - Set LBA range feature
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @nr_ranges: Number of ranges in @data
struct nvme_lba_range_type *data, __u32 *result);
/**
- * nvme_set_features_temp_thresh() -
+ * nvme_set_features_temp_thresh() - Set temperature threshold feature
* @fd: File descriptor of nvme device
* @tmpth: Temperature Threshold
* @tmpsel: Threshold Temperature Select
bool save, __u32 *result);
/**
- * nvme_set_features_err_recovery() -
+ * nvme_set_features_err_recovery() - Set error recovery feature
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @tler: Time-limited error recovery value
bool dulbe, bool save, __u32 *result);
/**
- * nvme_set_features_volatile_wc() -
+ * nvme_set_features_volatile_wc() - Set volatile write cache feature
* @fd: File descriptor of nvme device
* @wce: Write cache enable
* @save: Save value across power states
__u32 *result);
/**
- * nvme_set_features_irq_coalesce() -
+ * nvme_set_features_irq_coalesce() - Set IRQ coalesce feature
* @fd: File descriptor of nvme device
* @thr: Aggregation Threshold
* @time: Aggregation Time
bool save, __u32 *result);
/**
- * nvme_set_features_irq_config() -
+ * nvme_set_features_irq_config() - Set IRQ config feature
* @fd: File descriptor of nvme device
* @iv: Interrupt Vector
* @cd: Coalescing Disable
__u32 *result);
/**
- * nvme_set_features_write_atomic() -
+ * nvme_set_features_write_atomic() - Set write atomic feature
* @fd: File descriptor of nvme device
* @dn: Disable Normal
* @save: Save value across power states
__u32 *result);
/**
- * nvme_set_features_async_event() -
+ * nvme_set_features_async_event() - Set asynchronous event feature
* @fd: File descriptor of nvme device
* @events: Events to enable
* @save: Save value across power states
__u32 *result);
/**
- * nvme_set_features_auto_pst() -
+ * nvme_set_features_auto_pst() - Set autonomous power state feature
* @fd: File descriptor of nvme device
* @apste: Autonomous Power State Transition Enable
* @apst: Autonomous Power State Transition
__u32 *result);
/**
- * nvme_set_features_timestamp() -
+ * nvme_set_features_timestamp() - Set timestamp feature
* @fd: File descriptor of nvme device
* @save: Save value across power states
* @timestamp: The current timestamp value to assign to this this feature
int nvme_set_features_timestamp(int fd, bool save, __u64 timestamp);
/**
- * nvme_set_features_hctm() -
+ * nvme_set_features_hctm() - Set thermal management feature
* @fd: File descriptor of nvme device
* @tmt2: Thermal Management Temperature 2
* @tmt1: Thermal Management Temperature 1
__u32 *result);
/**
- * nvme_set_features_nopsc() -
+ * nvme_set_features_nopsc() - Set non-operational power state feature
* @fd: File descriptor of nvme device
* @noppme: Non-Operational Power State Permissive Mode Enable
* @save: Save value across power states
int nvme_set_features_nopsc(int fd, bool noppme, bool save, __u32 *result);
/**
- * nvme_set_features_rrl() -
+ * nvme_set_features_rrl() - Set read recovery level feature
* @fd: File descriptor of nvme device
* @rrl: Read recovery level setting
* @nvmsetid: NVM set id
__u32 *result);
/**
- * nvme_set_features_plm_config() -
+ * nvme_set_features_plm_config() - Set predictable latency feature
* @fd: File descriptor of nvme device
* @enable: Predictable Latency Enable
* @nvmsetid: NVM Set Identifier
__u32*result);
/**
- * nvme_set_features_plm_window() -
+ * nvme_set_features_plm_window() - Set window select feature
* @fd: File descriptor of nvme device
* @sel: Window Select
* @nvmsetid: NVM Set Identifier
__u16 nvmsetid, bool save, __u32 *result);
/**
- * nvme_set_features_lba_sts_interval() -
+ * nvme_set_features_lba_sts_interval() - Set LBA status information feature
* @fd: File descriptor of nvme device
* @save: Save value across power states
* @lsiri: LBA Status Information Report Interval
bool save, __u32 *result);
/**
- * nvme_set_features_host_behavior() -
+ * nvme_set_features_host_behavior() - Set host behavior feature
* @fd: File descriptor of nvme device
* @save: Save value across power states
* @data: Pointer to structure nvme_feat_host_behavior
struct nvme_feat_host_behavior *data);
/**
- * nvme_set_features_sanitize() -
+ * nvme_set_features_sanitize() - Set sanitize feature
* @fd: File descriptor of nvme device
* @nodrm: No-Deallocate Response Mode
* @save: Save value across power states
int nvme_set_features_sanitize(int fd, bool nodrm, bool save, __u32 *result);
/**
- * nvme_set_features_endurance_evt_cfg() -
+ * nvme_set_features_endurance_evt_cfg() - Set endurance event config feature
* @fd: File descriptor of nvme device
* @endgid: Endurance Group Identifier
* @egwarn: Flags to enable warning, see &enum nvme_eg_critical_warning_flags
bool save, __u32 *result);
/**
- * nvme_set_features_sw_progress() -
+ * nvme_set_features_sw_progress() - Set pre-boot software load count feature
* @fd: File descriptor of nvme device
* @pbslc: Pre-boot Software Load Count
* @save: Save value across power states
__u32 *result);
/**
- * nvme_set_features_host_id() -
+ * nvme_set_features_host_id() - Set enable extended host identifers feature
* @fd: File descriptor of nvme device
* @exhid: Enable Extended Host Identifier
* @save: Save value across power states
int nvme_set_features_host_id(int fd, bool exhid, bool save, __u8 *hostid);
/**
- * nvme_set_features_resv_mask() -
+ * nvme_set_features_resv_mask() - Set reservation notification mask feature
* @fd: File descriptor of nvme device
* @mask: Reservation Notification Mask Field
* @save: Save value across power states
int nvme_set_features_resv_mask(int fd, __u32 mask, bool save, __u32 *result);
/**
- * nvme_set_features_resv_persist() -
+ * nvme_set_features_resv_persist() - Set persist through power loss feature
* @fd: File descriptor of nvme device
* @ptpl: Persist Through Power Loss
* @save: Save value across power states
int nvme_set_features_resv_persist(int fd, bool ptpl, bool save, __u32 *result);
/**
- * nvme_set_features_write_protect() -
+ * nvme_set_features_write_protect() - Set write protect feature
* @fd: File descriptor of nvme device
* @state: Write Protection State
* @save: Save value across power states
* @data_len: Length of feature data, if applicable, in bytes
* @data: User address of feature data, if applicable
* @result: The command completion result from CQE dword0
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_features_data(int fd, enum nvme_features_id fid,
__u32 nsid, __u32 data_len, void *data, __u32 *result)
* @fid: Feature identifier
* @nsid: Namespace ID, if applicable
* @result: The command completion result from CQE dword0
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_get_features_simple(int fd, enum nvme_features_id fid,
__u32 nsid, __u32 *result)
}
/**
- * nvme_get_features_arbitration() -
+ * nvme_get_features_arbitration() - Get arbitration feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_power_mgmt() -
+ * nvme_get_features_power_mgmt() - Get power management feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_lba_range() -
+ * nvme_get_features_lba_range() - Get LBA range feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @data: User address of feature data, if applicable
__u32 *result);
/**
- * nvme_get_features_temp_thresh() -
+ * nvme_get_features_temp_thresh() - Get temperature threshold feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_err_recovery() -
+ * nvme_get_features_err_recovery() - Get error recovery feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_volatile_wc() -
+ * nvme_get_features_volatile_wc() - Get volatile write cache feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_num_queues() -
+ * nvme_get_features_num_queues() - Get number of queues feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_irq_coalesce() -
+ * nvme_get_features_irq_coalesce() - Get IRQ coalesce feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_irq_config() -
+ * nvme_get_features_irq_config() - Get IRQ config feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @iv:
__u16 iv, __u32 *result);
/**
- * nvme_get_features_write_atomic() -
+ * nvme_get_features_write_atomic() - Get write atomic feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_async_event() -
+ * nvme_get_features_async_event() - Get asynchronous event feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_auto_pst() -
+ * nvme_get_features_auto_pst() - Get autonomous power state feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @apst:
struct nvme_feat_auto_pst *apst, __u32 *result);
/**
- * nvme_get_features_host_mem_buf() -
+ * nvme_get_features_host_mem_buf() - Get host memory buffer feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_timestamp() -
+ * nvme_get_features_timestamp() - Get timestamp feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @ts: Current timestamp
struct nvme_timestamp *ts);
/**
- * nvme_get_features_kato() -
+ * nvme_get_features_kato() - Get keep alive timeout feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
int nvme_get_features_kato(int fd, enum nvme_get_features_sel sel, __u32 *result);
/**
- * nvme_get_features_hctm() -
+ * nvme_get_features_hctm() - Get thermal management feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
int nvme_get_features_hctm(int fd, enum nvme_get_features_sel sel, __u32 *result);
/**
- * nvme_get_features_nopsc() -
+ * nvme_get_features_nopsc() - Get non-operational power state feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
int nvme_get_features_nopsc(int fd, enum nvme_get_features_sel sel, __u32 *result);
/**
- * nvme_get_features_rrl() -
+ * nvme_get_features_rrl() - Get read recovery level feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
int nvme_get_features_rrl(int fd, enum nvme_get_features_sel sel, __u32 *result);
/**
- * nvme_get_features_plm_config() -
+ * nvme_get_features_plm_config() - Get predictable latency feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @nvmsetid: NVM set id
__u32 *result);
/**
- * nvme_get_features_plm_window() -
+ * nvme_get_features_plm_window() - Get window select feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @nvmsetid: NVM set id
__u16 nvmsetid, __u32 *result);
/**
- * nvme_get_features_lba_sts_interval() -
+ * nvme_get_features_lba_sts_interval() - Get LBA status information feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_host_behavior() -
+ * nvme_get_features_host_behavior() - Get host behavior feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
- * @data: Poniter to structure nvme_feat_host_behavior
+ * @data: Pointer to structure nvme_feat_host_behavior
* @result: The command completion result from CQE dword0
*
* Return: The nvme command status if a response was received (see
__u32 *result);
/**
- * nvme_get_features_sanitize() -
+ * nvme_get_features_sanitize() - Get sanitize feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_endurance_event_cfg() -
+ * nvme_get_features_endurance_event_cfg() - Get endurance event config feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @endgid: Endurance Group Identifier
__u16 endgid, __u32 *result);
/**
- * nvme_get_features_sw_progress() -
+ * nvme_get_features_sw_progress() - Get software progress feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_host_id() -
+ * nvme_get_features_host_id() - Get host id feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @exhid: Enable Extended Host Identifier
bool exhid, __u32 len, __u8 *hostid);
/**
- * nvme_get_features_resv_mask() -
+ * nvme_get_features_resv_mask() - Get reservation mask feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_resv_persist() -
+ * nvme_get_features_resv_persist() - Get reservation persist feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
__u32 *result);
/**
- * nvme_get_features_write_protect() -
+ * nvme_get_features_write_protect() - Get write protect feature
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
__u32 *result);
/**
- * nvme_get_features_iocs_profile() -
+ * nvme_get_features_iocs_profile() - Get IOCS profile feature
* @fd: File descriptor of nvme device
* @sel: Select which type of attribute to return, see &enum nvme_get_features_sel
* @result: The command completion result from CQE dword0
/**
* nvme_ns_mgmt() - Issue a Namespace management command
* @args: &struct nvme_ns_mgmt_args Argument structure
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
int nvme_ns_mgmt(struct nvme_ns_mgmt_args *args);
/**
- * nvme_ns_mgmt_create() -
+ * nvme_ns_mgmt_create() - Create a non attached namespace
* @fd: File descriptor of nvme device
* @ns: Namespace identification that defines ns creation parameters
* @nsid: On success, set to the namespace id that was created
- * @timeout: Overide the default timeout to this value in milliseconds;
- * set to 0 to use the system default.
+ * @timeout: Override the default timeout to this value in milliseconds;
+ * set to 0 to use the system default.
* @csi: Command Set Identifier
*
* On successful creation, the namespace exists in the subsystem, but is not
}
/**
- * nvme_ns_mgmt_delete() -
+ * nvme_ns_mgmt_delete() - Delete a non attached namespace
* @fd: File descriptor of nvme device
* @nsid: Namespace identifier to delete
*
/**
* nvme_ns_attach() - Attach or detach namespace to controller(s)
* @args: &struct nvme_ns_attach_args Argument structure
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
int nvme_ns_attach(struct nvme_ns_attach_args *args);
/**
- * nvme_ns_attach_ctrls() -
+ * nvme_ns_attach_ctrls() - Attach namespace to controllers
* @fd: File descriptor of nvme device
* @nsid: Namespace ID to attach
* @ctrlist: Controller list to modify attachment state of nsid
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_ns_attach_ctrls(int fd, __u32 nsid,
struct nvme_ctrl_list *ctrlist)
}
/**
- * nvme_ns_detach_ctrls() -
+ * nvme_ns_detach_ctrls() - Detach namespace from controllers
* @fd: File descriptor of nvme device
* @nsid: Namespace ID to detach
* @ctrlist: Controller list to modify attachment state of nsid
+ *
+ * Return: The nvme command status if a response was received (see
+ * &enum nvme_status_field) or -1 with errno set otherwise.
*/
static inline int nvme_ns_detach_ctrls(int fd, __u32 nsid,
struct nvme_ctrl_list *ctrlist)
/**
* nvme_fw_download() - Download part or all of a firmware image to the
- * controller
+ * controller
* @args: &struct nvme_fw_download_args argument structure
*
* The Firmware Image Download command downloads all or a portion of an image
int nvme_fw_commit(struct nvme_fw_commit_args *args);
/**
- * nvme_security_send() -
+ * nvme_security_send() - Security Send command
* @args: &struct nvme_security_send argument structure
*
* The Security Send command transfers security protocol data to the
int nvme_security_send(struct nvme_security_send_args *args);
/**
- * nvme_security_receive() -
+ * nvme_security_receive() - Security Receive command
* @args: &struct nvme_security_recevice argument structure
*
* Return: The nvme command status if a response was received (see
int nvme_directive_send(struct nvme_directive_send_args *args);
/**
- * nvme_directive_send_id_endir() -
+ * nvme_directive_send_id_endir() - Directive Send Enable Directive
* @fd: File descriptor of nvme device
* @nsid: Namespace Identifier
* @endir: Enable Directive
struct nvme_id_directives *id);
/**
- * nvme_directive_send_stream_release_identifier() -
+ * nvme_directive_send_stream_release_identifier() - Directive Send Stream release
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @stream_id: Stream identifier
}
/**
- * nvme_directive_send_stream_release_resource() -
+ * nvme_directive_send_stream_release_resource() - Directive Send Stream release resources
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
*
int nvme_directive_recv(struct nvme_directive_recv_args *args);
/**
- * nvme_directive_recv_identify_parameters() -
+ * nvme_directive_recv_identify_parameters() - Directive receive identifier parameters
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @id: Identify parameters buffer
}
/**
- * nvme_directive_recv_stream_parameters() -
+ * nvme_directive_recv_stream_parameters() - Directive receive stream parameters
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @parms: Streams directive parameters buffer
}
/**
- * nvme_directive_recv_stream_status() -
+ * nvme_directive_recv_stream_status() - Directive receive stream status
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @nr_entries: Number of streams to receive
}
/**
- * nvme_directive_recv_stream_allocate() -
+ * nvme_directive_recv_stream_allocate() - Directive receive stream allocate
* @fd: File descriptor of nvme device
* @nsid: Namespace ID
* @nsr: Namespace Streams Requested
}
/**
- * nvme_capacity_mgmt() -
+ * nvme_capacity_mgmt() - Capacity management command
* @args: &struct nvme_capacity_mgmt_args argument structure
*
* Return: The nvme command status if a response was received (see
int nvme_dsm(struct nvme_dsm_args *args);
/**
- * nvme_copy() -
+ * nvme_copy() - Copy command
*
* @args: &struct nvme_copy_args argument structure
*
* @args: struct nvme_resv_report_args argument structure
*
* Returns a Reservation Status data structure to memory that describes the
- * registration and reservation status of a namespace. See the defintion for
+ * registration and reservation status of a namespace. See the definition for
* the returned structure, &struct nvme_reservation_status, for more details.
*
* Return: The nvme command status if a response was received (see
int nvme_resv_report(struct nvme_resv_report_args *args);
/**
- * nvme_zns_mgmt_send() -
+ * nvme_zns_mgmt_send() - ZNS management send command
* @args: &struct nvme_zns_mgmt_send_args argument structure
*
* Return: The nvme command status if a response was received (see
/**
- * nvme_zns_mgmt_recv() -
+ * nvme_zns_mgmt_recv() - ZNS management receive command
* @args: &struct nvme_zns_mgmt_recv_args argument structure
*
* Return: The nvme command status if a response was received (see
* specific transport. For example, BPMBL(Boot Partition Memory Buffer
* Location) register is not supported by fabrics, but it can be checked here.
*
- * Returns true if given offset is 64bit register, otherwise it returns false.
+ * Returns: true if given offset is 64bit register, otherwise it returns false.
*/
static inline bool nvme_is_64bit_reg(__u32 offset)
{
* nvme_cmb_size() - Calculate size of the controller memory buffer
* @cmbsz: Value from controller register %NVME_REG_CMBSZ
*
- * Returns size of controller memory buffer in bytes
+ * Returns: size of controller memory buffer in bytes
*/
static inline __u64 nvme_cmb_size(__u32 cmbsz)
{
* buffer
* @pmrebs: Value from controller register %NVME_REG_PMREBS
*
- * Returns size of controller persistent memory buffer in bytes
+ * Returns: size of controller persistent memory buffer in bytes
*/
static inline __u64 nvme_pmr_size(__u32 pmrebs)
{
* nvme_pmr_throughput() - Calculate throughput of persistent memory buffer
* @pmrswtp: Value from controller register %NVME_REG_PMRSWTP
*
- * Returns throughput of controller persistent memory buffer in bytes/second
+ * Returns: throughput of controller persistent memory buffer in bytes/second
*/
static inline __u64 nvme_pmr_throughput(__u32 pmrswtp)
{
/**
* nvme_psd_power_scale() - power scale occupies the upper 3 bits
* @ps: power scale value
+ *
+ * Returns: power scale value
*/
static inline unsigned int nvme_psd_power_scale(__u8 ps)
{
};
/**
- * struct nvme_id_psd -
+ * struct nvme_id_psd - Power Managmenet data structure
* @mp: Maximum Power indicates the sustained maximum power consumed by the
* NVM subsystem in this power state. The power in Watts is equal to
* the value in this field multiplied by the scale specified in the Max
* firmware slots that the controller supports.
* @NVME_CTRL_FRMW_FW_ACT_NO_RESET: If set, the controller supports firmware
* activation without a reset.
- * @NVME_CTRL_FRMW_FW_MP_UP_DETECTION: If set, the controller is able to detect
- * overlapping firmware/boot partition
- * image update.
+ * @NVME_CTRL_FRMW_MP_UP_DETECTION: If set, the controller is able to detect
+ * overlapping firmware/boot partition
+ * image update.
*/
enum nvme_id_ctrl_frmw {
NVME_CTRL_FRMW_1ST_RO = 1 << 0,
};
/**
- * enum nvme_id_ctrl_vwc -
+ * enum nvme_id_ctrl_vwc - Volatile write cache
* @NVME_CTRL_VWC_PRESENT: If set, indicates a volatile write cache is present.
* If a volatile write cache is present, then the host
* controls whether the volatile write cache is enabled
};
/**
- * struct nvme_ns_id_desc -
+ * struct nvme_ns_id_desc - Namespace identifier type descriptor
* @nidt: Namespace Identifier Type, see &enum nvme_ns_id_desc_nidt
* @nidl: Namespace Identifier Length contains the length in bytes of the
* &struct nvme_id_ns.nid.
};
/**
- * struct nvme_id_nvmset_list -
+ * struct nvme_id_nvmset_list - NVM set list
* @nid: Nvmset id
* @rsvd1: Reserved
* @ent: nvmset id list
};
/**
- * struct nvme_id_independent_id_ns -
+ * struct nvme_id_independent_id_ns - Identify - I/O Command Set Independent Identify Namespace Data Structure
* @nsfeat: common namespace features
* @nmic: Namespace Multi-path I/O and Namespace
* Sharing Capabilities
};
/**
- * struct nvme_id_ns_granularity_desc -
+ * struct nvme_id_ns_granularity_desc - Namespace Granularity Descriptor
* @nszegran: Namespace Size Granularity
* @ncapgran: Namespace Capacity Granularity
*/
};
/**
- * struct nvme_id_ns_granularity_list -
+ * struct nvme_id_ns_granularity_list - Namespace Granularity List
* @attributes: Namespace Granularity Attributes
* @num_descriptors: Number of Descriptors
* @rsvd5: reserved
};
/**
- * struct nvme_id_uuid_list_entry -
+ * struct nvme_id_uuid_list_entry - UUID List Entry
* @header: UUID Lists Entry Header
* @rsvd1: reserved
* @uuid: 128-bit Universally Unique Identifier
};
/**
- * enum nvme_id_uuid -
+ * enum nvme_id_uuid - Identifier Association
* @NVME_ID_UUID_HDR_ASSOCIATION_MASK:
* @NVME_ID_UUID_ASSOCIATION_NONE:
* @NVME_ID_UUID_ASSOCIATION_VENDOR:
};
/**
- * struct nvme_id_uuid_list -
+ * struct nvme_id_uuid_list - UUID list
* @rsvd0: reserved
* @entry: UUID list entry
*/
};
/**
- * struct nvme_ctrl_list -
+ * struct nvme_ctrl_list - Controller List
* @num: Number of Identifiers
* @identifier: NVM subsystem unique controller identifier
*/
};
/**
- * struct nvme_ns_list -
+ * struct nvme_ns_list - Namespace List
* @ns: Namespace Identifier
*/
struct nvme_ns_list {
};
/**
- * struct nvme_id_ctrl_nvm -
+ * struct nvme_id_ctrl_nvm - I/O Command Set Specific Identify Controller data structure
* @vsl: Verify Size Limit
* @wzsl: Write Zeroes Size Limit
* @wusl: Write Uncorrectable Size Limit
};
/**
- * struct nvme_nvm_id_ns -
+ * struct nvme_nvm_id_ns - NVME Command Set I/O Command Set Specific Identify Namespace Data Structure
* @lbstm: Logical Block Storage Tag Mask
* @pic: Protection Information Capabilities
* @rsvd9: Reserved
};
/**
- * struct nvme_zns_lbafe -
+ * struct nvme_zns_lbafe - LBA Format Extension Data Structure
* @zsze: Zone Size
* @zdes: Zone Descriptor Extension Size
* @rsvd9: reserved
};
/**
- * struct nvme_zns_id_ns - Zoned Namespace Command Set Specific
- * Identify Namespace Data Structure
+ * struct nvme_zns_id_ns - Zoned Namespace Command Set Specific Identify Namespace Data Structure
* @zoc: Zone Operation Characteristics
* @ozcs: Optional Zoned Command Support
* @mar: Maximum Active Resources
};
/**
- * struct nvme_zns_id_ctrl -
- * @zasl:
- * @rsvd1: Reserved
+ * struct nvme_zns_id_ctrl - I/O Command Set Specific Identify Controller Data Structure for the Zoned Namespace Command Set
+ * @zasl: Zone Append Size Limit
+ * @rsvd1: Reserved
*/
struct nvme_zns_id_ctrl {
__u8 zasl;
};
/**
- * struct nvme_primary_ctrl_cap -
+ * struct nvme_primary_ctrl_cap - Identify - Controller Capabilities Structure
* @cntlid: Controller Identifier
* @portid: Port Identifier
* @crt: Controller Resource Types
};
/**
- * struct nvme_secondary_ctrl -
+ * struct nvme_secondary_ctrl - Secondary Controller Entry
* @scid: Secondary Controller Identifier
* @pcid: Primary Controller Identifier
* @scs: Secondary Controller State
};
/**
- * struct nvme_secondary_ctrl_list -
+ * struct nvme_secondary_ctrl_list - Secondary Controller List
* @num: Number of Identifiers
* @rsvd: Reserved
* @sc_entry: Secondary Controller Entry
};
/**
- * struct nvme_id_domain_list -
+ * struct nvme_id_domain_list - Domain List
* @num: Number of domain attributes
* @rsvd: Reserved
* @domain_attr: List of domain attributes
};
/**
- * struct nvme_id_endurance_group_list -
+ * struct nvme_id_endurance_group_list - Endurance Group List
* @num: Number of Identifiers
* @identifier: Endurance Group Identifier
*/
};
/**
- * struct nvme_supported_log_pages -
+ * struct nvme_supported_log_pages - Supported Log Pages - Log
* @lid_support: Log Page Identifier Supported
*
* Supported Log Pages (Log Identifier 00h)
__u8 rsvd2[22];
};
-/**
- * enum nvme_err_pel -
- * @NVME_ERR_PEL_BYTE_MASK:
- * @NVME_ERR_PEL_BIT_MASK:
- */
enum nvme_err_pel {
NVME_ERR_PEL_BYTE_MASK = 0xf,
NVME_ERR_PEL_BIT_MASK = 0x70,
};
/**
- * struct nvme_firmware_slot -
+ * struct nvme_firmware_slot - Firmware Slot Information Log
* @afi: Active Firmware Info
* @rsvd1: Reserved
* @frs: Firmware Revision for Slot
};
/**
- * struct nvme_cmd_effects_log -
+ * struct nvme_cmd_effects_log - Commands Supported and Effects Log
* @acs: Admin Command Supported
* @iocs: I/O Command Supported
* @rsvd: Reserved
};
/**
- * enum nvme_cmd_effects -
+ * enum nvme_cmd_effects - Commands Supported and Effects
* @NVME_CMD_EFFECTS_CSUPP: Command Supported
* @NVME_CMD_EFFECTS_LBCC: Logical Block Content Change
* @NVME_CMD_EFFECTS_NCC: Namespace Capability Change
} __attribute__((packed));
/**
- * enum nvme_cmd_get_log_telemetry_host_lsp -
- * @NVME_LOG_TELEM_HOST_LSP_RETAIN:
- * @NVME_LOG_TELEM_HOST_LSP_CREATE:
+ * enum nvme_cmd_get_log_telemetry_host_lsp - Telemetry Host-Initiated Log log specific field
+ * @NVME_LOG_TELEM_HOST_LSP_RETAIN: Get Telemetry Data Blocks
+ * @NVME_LOG_TELEM_HOST_LSP_CREATE: Create Telemetry Data Blocks
*/
enum nvme_cmd_get_log_telemetry_host_lsp {
NVME_LOG_TELEM_HOST_LSP_RETAIN = 0,
};
/**
- * struct nvme_endurance_group_log -
+ * struct nvme_endurance_group_log - Endurance Group Information Log
* @critical_warning: Critical Warning
* @rsvd1: Reserved
* @avl_spare: Available Spare
};
/**
- * enum nvme_eg_critical_warning_flags -
- * @NVME_EG_CRITICAL_WARNING_SPARE:
- * @NVME_EG_CRITICAL_WARNING_DEGRADED:
- * @NVME_EG_CRITICAL_WARNING_READ_ONLY:
+ * enum nvme_eg_critical_warning_flags - Endurance Group Information Log - Critical Warning
+ * @NVME_EG_CRITICAL_WARNING_SPARE: Available spare capacity of the Endurance Group
+ * has fallen below the threshold
+ * @NVME_EG_CRITICAL_WARNING_DEGRADED: Endurance Group reliability has been degraded
+ * @NVME_EG_CRITICAL_WARNING_READ_ONLY: Endurance Group have been placed in read only
+ * mode
*/
enum nvme_eg_critical_warning_flags {
NVME_EG_CRITICAL_WARNING_SPARE = 1 << 0,
};
/**
- * struct nvme_aggregate_endurance_group_event -
+ * struct nvme_aggregate_endurance_group_event - Endurance Group Event Aggregate
* @num_entries: Number or entries
* @entries: List of entries
*/
};
/**
- * struct nvme_nvmset_predictable_lat_log -
+ * struct nvme_nvmset_predictable_lat_log - Predictable Latency Mode - Deterministic Threshold Configuration Data
* @status: Status
* @rsvd1: Reserved
* @event_type: Event Type
};
/**
- * enum nvme_nvmeset_pl_status -
- * @NVME_NVMSET_PL_STATUS_DISABLED:
- * @NVME_NVMSET_PL_STATUS_DTWIN:
- * @NVME_NVMSET_PL_STATUS_NDWIN:
+ * enum nvme_nvmeset_pl_status - Predictable Latency Per NVM Set Log - Status
+ * @NVME_NVMSET_PL_STATUS_DISABLED: Not used (Predictable Latency Mode not enabled)
+ * @NVME_NVMSET_PL_STATUS_DTWIN: Deterministic Window (DTWIN)
+ * @NVME_NVMSET_PL_STATUS_NDWIN: Non-Deterministic Window (NDWIN)
*/
enum nvme_nvmeset_pl_status {
NVME_NVMSET_PL_STATUS_DISABLED = 0,
};
/**
- * enum nvme_nvmset_pl_events -
- * @NVME_NVMSET_PL_EVENT_DTWIN_READ_WARN:
- * @NVME_NVMSET_PL_EVENT_DTWIN_WRITE_WARN:
- * @NVME_NVMSET_PL_EVENT_DTWIN_TIME_WARN:
- * @NVME_NVMSET_PL_EVENT_DTWIN_EXCEEDED:
- * @NVME_NVMSET_PL_EVENT_DTWIN_EXCURSION:
+ * enum nvme_nvmset_pl_events - Predictable Latency Per NVM Set Log - Event Type
+ * @NVME_NVMSET_PL_EVENT_DTWIN_READ_WARN: DTWIN Reads Warning
+ * @NVME_NVMSET_PL_EVENT_DTWIN_WRITE_WARN: DTWIN Writes Warning
+ * @NVME_NVMSET_PL_EVENT_DTWIN_TIME_WARN: DTWIN Time Warning
+ * @NVME_NVMSET_PL_EVENT_DTWIN_EXCEEDED: Autonomous transition from DTWIN
+ * to NDWIN due to typical or
+ * maximum value exceeded
+ * @NVME_NVMSET_PL_EVENT_DTWIN_EXCURSION: Autonomous transition from DTWIN
+ * to NDWIN due to Deterministic
+ * Excursion
*/
enum nvme_nvmset_pl_events {
NVME_NVMSET_PL_EVENT_DTWIN_READ_WARN = 1 << 0,
};
/**
- * struct nvme_aggregate_predictable_lat_event -
+ * struct nvme_aggregate_predictable_lat_event - Predictable Latency Event Aggregate Log Page
* @num_entries: Number of entries
* @entries: Entry list
*/
};
/**
- * struct nvme_ana_group_desc -
+ * struct nvme_ana_group_desc - ANA Group Descriptor
* @grpid: ANA group id
* @nnsids: Number of namespaces in @nsids
* @chgcnt: Change counter
};
/**
- * enum nvme_ana_state -
- * @NVME_ANA_STATE_OPTIMIZED:
- * @NVME_ANA_STATE_NONOPTIMIZED:
- * @NVME_ANA_STATE_INACCESSIBLE:
- * @NVME_ANA_STATE_PERSISTENT_LOSS:
- * @NVME_ANA_STATE_CHANGE:
+ * enum nvme_ana_state - ANA Group Descriptor - Asymmetric Namespace Access State
+ * @NVME_ANA_STATE_OPTIMIZED: ANA Optimized state
+ * @NVME_ANA_STATE_NONOPTIMIZED: ANA Non-Optimized state
+ * @NVME_ANA_STATE_INACCESSIBLE: ANA Inaccessible state
+ * @NVME_ANA_STATE_PERSISTENT_LOSS: ANA Persistent Loss state
+ * @NVME_ANA_STATE_CHANGE: ANA Change state
*/
enum nvme_ana_state {
NVME_ANA_STATE_OPTIMIZED = 0x1,
};
/**
- * struct nvme_ana_log -
+ * struct nvme_ana_log - Asymmetric Namespace Access Log
* @chgcnt: Change Count
* @ngrps: Number of ANA Group Descriptors
* @rsvd10: Reserved
};
/**
- * struct nvme_persistent_event_log -
+ * struct nvme_persistent_event_log - Persistent Event Log
* @lid: Log Identifier
* @rsvd1: Reserved
* @tnev: Total Number of Events
} __attribute__((packed));
/**
- * struct nvme_persistent_event_entry -
+ * struct nvme_persistent_event_entry - Persistent Event
* @etype: Event Type
* @etype_rev: Event Type Revision
* @ehl: Event Header Length
} __attribute__((packed));
/**
- * enum nvme_persistent_event_types -
- * @NVME_PEL_SMART_HEALTH_EVENT:
- * @NVME_PEL_FW_COMMIT_EVENT:
- * @NVME_PEL_TIMESTAMP_EVENT:
- * @NVME_PEL_POWER_ON_RESET_EVENT:
- * @NVME_PEL_NSS_HW_ERROR_EVENT:
- * @NVME_PEL_CHANGE_NS_EVENT:
- * @NVME_PEL_FORMAT_START_EVENT:
- * @NVME_PEL_FORMAT_COMPLETION_EVENT:
- * @NVME_PEL_SANITIZE_START_EVENT:
- * @NVME_PEL_SANITIZE_COMPLETION_EVENT:
- * @NVME_PEL_SET_FEATURE_EVENT:
- * @NVME_PEL_TELEMETRY_CRT:
- * @NVME_PEL_THERMAL_EXCURSION_EVENT:
+ * enum nvme_persistent_event_types - Persistent event log events
+ * @NVME_PEL_SMART_HEALTH_EVENT: SMART / Health Log Snapshot Event
+ * @NVME_PEL_FW_COMMIT_EVENT: Firmware Commit Event
+ * @NVME_PEL_TIMESTAMP_EVENT: Timestamp Change Event
+ * @NVME_PEL_POWER_ON_RESET_EVENT: Power-on or Reset Event
+ * @NVME_PEL_NSS_HW_ERROR_EVENT: NVM Subsystem Hardware Error Event
+ * @NVME_PEL_CHANGE_NS_EVENT: Change Namespace Event
+ * @NVME_PEL_FORMAT_START_EVENT: Format NVM Start Event
+ * @NVME_PEL_FORMAT_COMPLETION_EVENT: Format NVM Completion Event
+ * @NVME_PEL_SANITIZE_START_EVENT: Sanitize Start Event
+ * @NVME_PEL_SANITIZE_COMPLETION_EVENT: Sanitize Completion Event
+ * @NVME_PEL_SET_FEATURE_EVENT: Set Feature Event
+ * @NVME_PEL_TELEMETRY_CRT: Telemetry Log Create Event
+ * @NVME_PEL_THERMAL_EXCURSION_EVENT: Thermal Excursion Event
*/
enum nvme_persistent_event_types {
NVME_PEL_SMART_HEALTH_EVENT = 0x01,
};
/**
- * struct nvme_fw_commit_event -
+ * struct nvme_fw_commit_event - Firmware Commit Event Data
* @old_fw_rev: Old Firmware Revision
* @new_fw_rev: New Firmware Revision
* @fw_commit_action: Firmware Commit Action
} __attribute__((packed));
/**
- * struct nvme_time_stamp_change_event -
+ * struct nvme_time_stamp_change_event - Timestamp Change Event
* @previous_timestamp: Previous Timestamp
* @ml_secs_since_reset: Milliseconds Since Reset
*/
};
/**
- * struct nvme_power_on_reset_info_list -
+ * struct nvme_power_on_reset_info_list - Controller Reset Information
* @cid: Controller ID
* @fw_act: Firmware Activation
* @op_in_prog: Operation in Progress
} __attribute__((packed));
/**
- * struct nvme_nss_hw_err_event -
+ * struct nvme_nss_hw_err_event - NVM Subsystem Hardware Error Event
* @nss_hw_err_event_code: NVM Subsystem Hardware Error Event Code
* @rsvd2: Reserved
* @add_hw_err_info: Additional Hardware Error Information
};
/**
- * struct nvme_change_ns_event -
+ * struct nvme_change_ns_event - Change Namespace Event Data
* @nsmgt_cdw10: Namespace Management CDW10
* @rsvd4: Reserved
* @nsze: Namespace Size
};
/**
- * struct nvme_format_nvm_start_event -
+ * struct nvme_format_nvm_start_event - Format NVM Start Event Data
* @nsid: Namespace Identifier
* @fna: Format NVM Attributes
* @rsvd5: Reserved
};
/**
- * struct nvme_format_nvm_compln_event -
+ * struct nvme_format_nvm_compln_event - Format NVM Completion Event Data
* @nsid: Namespace Identifier
* @smallest_fpi: Smallest Format Progress Indicator
* @format_nvm_status: Format NVM Status
};
/**
- * struct nvme_sanitize_start_event -
+ * struct nvme_sanitize_start_event - Sanitize Start Event Data
* @sani_cap: SANICAP
* @sani_cdw10: Sanitize CDW10
* @sani_cdw11: Sanitize CDW11
};
/**
- * struct nvme_sanitize_compln_event -
+ * struct nvme_sanitize_compln_event - Sanitize Completion Event Data
* @sani_prog: Sanitize Progress
* @sani_status: Sanitize Status
* @cmpln_info: Completion Information
};
/**
- * struct nvme_set_feature_event -
+ * struct nvme_set_feature_event - Set Feature Event Data
* @layout: Set Feature Event Layout
* @cdw_mem: Command Dwords Memory buffer
*/
};
/**
- * struct nvme_thermal_exc_event -
+ * struct nvme_thermal_exc_event - Thermal Excursion Event Data
* @over_temp: Over Temperature
* @threshold: temperature threshold
*/
};
/**
- * struct nvme_lba_rd -
+ * struct nvme_lba_rd - LBA Range Descriptor
* @rslba: Range Starting LBA
* @rnlb: Range Number of Logical Blocks
* @rsvd12: Reserved
};
/**
- * struct nvme_lbas_ns_element -
+ * struct nvme_lbas_ns_element - LBA Status Log Namespace Element
* @neid: Namespace Element Identifier
* @nlrd: Number of LBA Range Descriptors
- * @ratype: Recommended Action Type
+ * @ratype: Recommended Action Type. see @enum nvme_lba_status_atype
* @rsvd8: Reserved
* @lba_rd: LBA Range Descriptor
*/
};
/**
- * enum nvme_lba_status_atype -
- * @NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED:
- * @NVME_LBA_STATUS_ATYPE_SCAN_TRACKED:
+ * enum nvme_lba_status_atype - Potentially Unrecoverable LBAs
+ * @NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED: Potentially Unrecoverable LBAs
+ * @NVME_LBA_STATUS_ATYPE_SCAN_TRACKED: Potentially Unrecoverable LBAs
+ * associated with physical storage
*/
enum nvme_lba_status_atype {
NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED = 0x10,
};
/**
- * struct nvme_lba_status_log -
+ * struct nvme_lba_status_log - LBA Status Information Log
* @lslplen: LBA Status Log Page Length
* @nlslne: Number of LBA Status Log Namespace Elements
* @estulb: Estimate of Unrecoverable Logical Blocks
};
/**
- * struct nvme_eg_event_aggregate_log -
+ * struct nvme_eg_event_aggregate_log - Endurance Group Event Aggregate
* @nr_entries: Number of Entries
* @egids: Endurance Group Identifier
*/
};
/**
- * enum nvme_fid_supported_effects -
- * @NVME_FID_SUPPORTED_EFFECTS_FSUPP:
- * @NVME_FID_SUPPORTED_EFFECTS_UDCC:
- * @NVME_FID_SUPPORTED_EFFECTS_NCC:
- * @NVME_FID_SUPPORTED_EFFECTS_NIC:
- * @NVME_FID_SUPPORTED_EFFECTS_CCC:
- * @NVME_FID_SUPPORTED_EFFECTS_UUID_SEL:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_SHIFT:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_MASK:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_NS:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_CTRL:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_NVM_SET:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_ENDGRP:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_DOMAIN:
- * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_NSS:
- *
- * FID Supported and Effects Data Structure definitions
+ * enum nvme_fid_supported_effects - FID Supported and Effects Data Structure definitions
+ * @NVME_FID_SUPPORTED_EFFECTS_FSUPP: FID Supported
+ * @NVME_FID_SUPPORTED_EFFECTS_UDCC: User Data Content Change
+ * @NVME_FID_SUPPORTED_EFFECTS_NCC: Namespace Capability Change
+ * @NVME_FID_SUPPORTED_EFFECTS_NIC: Namespace Inventory Change
+ * @NVME_FID_SUPPORTED_EFFECTS_CCC: Controller Capability Change
+ * @NVME_FID_SUPPORTED_EFFECTS_UUID_SEL: UUID Selection Supported
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_SHIFT: FID Scope Shift
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_MASK: FID Scope Mask
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_NS: Namespace Scope
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_CTRL: Controller Scope
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_NVM_SET: NVM Set Scope
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_ENDGRP: Endurance Group Scope
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_DOMAIN: Domain Scope
+ * @NVME_FID_SUPPORTED_EFFECTS_SCOPE_NSS: NVM Subsystem Scope
*/
enum nvme_fid_supported_effects {
NVME_FID_SUPPORTED_EFFECTS_FSUPP = 1 << 0,
};
/**
- * struct nvme_fid_supported_effects_log -
+ * struct nvme_fid_supported_effects_log - Feature Identifiers Supported and Effects
* @fid_support: Feature Identifier Supported
*
- * Feature Identifiers Supported and Effects (Log Identifier 12h)
*/
struct nvme_fid_supported_effects_log {
__le32 fid_support[NVME_LOG_FID_SUPPORTED_EFFECTS_MAX];
};
/**
- * enum nvme_mi_cmd_supported_effects - bit field definitions
+ * enum nvme_mi_cmd_supported_effects - MI Command Supported and Effects Data Structure
* @NVME_MI_CMD_SUPPORTED_EFFECTS_CSUPP: Command Supported
* @NVME_MI_CMD_SUPPORTED_EFFECTS_UDCC: User Data Conttent Change
* @NVME_MI_CMD_SUPPORTED_EFFECTS_NCC: Namespace Capability Change
* @NVME_MI_CMD_SUPPORTED_EFFECTS_SCOPE_ENDGRP: Endurance Group Scope
* @NVME_MI_CMD_SUPPORTED_EFFECTS_SCOPE_DOMAIN: Domain Scope
* @NVME_MI_CMD_SUPPORTED_EFFECTS_SCOPE_NSS: NVM Subsystem Scope
- *
- * MI Command Supported and Effects Data Structure definitions
*/
enum nvme_mi_cmd_supported_effects {
NVME_MI_CMD_SUPPORTED_EFFECTS_CSUPP = 1 << 0,
};
/**
- * struct nvme_mi_cmd_supported_effects_log -
- * @mi_cmd_support: NVMe-MI Commands Supported
- *
- * NVMe-MI Commands Supported and Effects (Log Identifier 13h)
+ * struct nvme_mi_cmd_supported_effects_log - NVMe-MI Commands Supported and Effects Log
+ * @mi_cmd_support: NVMe-MI Commands Supported
+ * @reserved1: Reserved
*/
struct nvme_mi_cmd_supported_effects_log {
__le32 mi_cmd_support[NVME_LOG_MI_CMD_SUPPORTED_EFFECTS_MAX];
};
/**
- * struct nvme_boot_partition -
+ * struct nvme_boot_partition - Boot Partition Log
* @lid: Boot Partition Identifier
* @rsvd1: Reserved
* @bpinfo: Boot Partition Information
};
/**
- * struct nvme_media_unit_stat_desc -
+ * struct nvme_media_unit_stat_desc - Media Unit Status Descriptor
* @muid: Media Unit Identifier
* @domainid: Domain Identifier
* @endgid: Endurance Group Identifier
};
/**
- * struct nvme_media_unit_stat_log -
+ * struct nvme_media_unit_stat_log - Media Unit Status
* @nmu: Number unit status descriptor
* @cchans: Number of Channels
* @sel_config: Selected Configuration
};
/**
- * struct nvme_media_unit_config_desc -
- * @muid: Media Unit Identifier
- * @mudl: Media Unit Descriptor Length
- *
- * Media Unit Configuration Descriptor
- * Structure Definitions
+ * struct nvme_media_unit_config_desc - Media Unit Configuration Descriptor
+ * @muid: Media Unit Identifier
+ * @rsvd2: Reserved
+ * @mudl: Media Unit Descriptor Length
*/
struct nvme_media_unit_config_desc {
__le16 muid;
};
/**
- * struct nvme_channel_config_desc -
- * @chanid: Channel Identifier
- * @chmus: Number Channel Media Units
- *
- * Channel Configuration Descriptor
- * Structure Definitions
+ * struct nvme_channel_config_desc - Channel Configuration Descriptor
+ * @chanid: Channel Identifier
+ * @chmus: Number Channel Media Units
+ * @mu_config_desc: Channel Unit config descriptors.
+ * See @struct nvme_media_unit_config_desc
*/
struct nvme_channel_config_desc {
__le16 chanid;
};
/**
- * struct nvme_end_grp_chan_desc -
- * @egchans: Number of Channels
- *
- * Endurance group Channel Configuration Descriptor
- * Structure Definitions
+ * struct nvme_end_grp_chan_desc - Endurance Group Channel Configuration Descriptor
+ * @egchans: Number of Channels
+ * @chan_config_desc: Channel config descriptors.
+ * See @struct nvme_channel_config_desc
*/
struct nvme_end_grp_chan_desc {
__le16 egchans;
};
/**
- * struct nvme_end_grp_config_desc -
+ * struct nvme_end_grp_config_desc - Endurance Group Configuration Descriptor
* @endgid: Endurance Group Identifier
* @cap_adj_factor: Capacity Adjustment Factor
+ * @rsvd4: Reserved
* @tegcap: Total Endurance Group Capacity
* @segcap: Spare Endurance Group Capacity
* @end_est: Endurance Estimate
* @egsets: Number of NVM Sets
+ * @rsvd64: Reserved
* @nvmsetid: NVM Set Identifier
- *
- * Endurance Group Configuration Descriptor
- * Structure Definitions
*/
struct nvme_end_grp_config_desc {
__le16 endgid;
};
/**
- * struct nvme_cap_config_desc -
+ * struct nvme_capacity_config_desc - Capacity Configuration structure definitions
* @cap_config_id: Capacity Configuration Identifier
* @domainid: Domain Identifier
* @egcn: Number Endurance Group Configuration
* Descriptors
- *
- * Capacity Configuration structure definitions
+ * @rsvd6: Reserved
+ * @egcd: Endurance Group Config descriptors.
+ * See @struct nvme_end_grp_config_desc
*/
struct nvme_capacity_config_desc {
__le16 cap_config_id;
};
/**
- * struct nvme_supported_cap_config_list_log -
- * @sccn: number of capacity configuration
- *
- * Supported Capacity Configuration list log page
- * structure definitions
+ * struct nvme_supported_cap_config_list_log - Supported Capacity Configuration list log page
+ * @sccn: Number of capacity configuration
+ * @rsvd1: Reserved
+ * @cap_config_desc: Capacity configuration desriptor.
+ * See @struct nvme_capacity_config_desc
*/
struct nvme_supported_cap_config_list_log {
__u8 sccn;
};
/**
- * struct nvme_resv_notification_log -
+ * struct nvme_resv_notification_log - Reservation Notification Log
* @lpc: Log Page Count
* @rnlpt: See &enum nvme_resv_notify_rnlpt.
* @nalp: Number of Available Log Pages
};
/**
- * enum nvme_resv_notify_rnlpt -
- * @NVME_RESV_NOTIFY_RNLPT_EMPTY:
- * @NVME_RESV_NOTIFY_RNLPT_REGISTRATION_PREEMPTED:
- * @NVME_RESV_NOTIFY_RNLPT_RESERVATION_RELEASED:
- * @NVME_RESV_NOTIFY_RNLPT_RESERVATION_PREEMPTED:
+ * enum nvme_resv_notify_rnlpt - Reservation Notification Log - Reservation Notification Log Page Type
+ * @NVME_RESV_NOTIFY_RNLPT_EMPTY: Empty Log Page
+ * @NVME_RESV_NOTIFY_RNLPT_REGISTRATION_PREEMPTED: Registration Preempted
+ * @NVME_RESV_NOTIFY_RNLPT_RESERVATION_RELEASED: Reservation Released
+ * @NVME_RESV_NOTIFY_RNLPT_RESERVATION_PREEMPTED: Reservation Preempted
*/
enum nvme_resv_notify_rnlpt {
NVME_RESV_NOTIFY_RNLPT_EMPTY = 0,
};
/**
- * enum nvme_zns_zt -
- * @NVME_ZONE_TYPE_SEQWRITE_REQ:
+ * enum nvme_zns_zt - Zone Descriptor Data Structure - Zone Type
+ * @NVME_ZONE_TYPE_SEQWRITE_REQ: Sequential Write Required
*/
enum nvme_zns_zt {
NVME_ZONE_TYPE_SEQWRITE_REQ = 0x2,
};
/**
- * enum nvme_zns_za -
+ * enum nvme_zns_za - Zone Descriptor Data Structure
* @NVME_ZNS_ZA_ZFC: Zone Finished by Controller
* @NVME_ZNS_ZA_FZR: Finish Zone Recommended
* @NVME_ZNS_ZA_RZR: Reset Zone Recommended
};
/**
- * enum nvme_zns_zs -
+ * enum nvme_zns_zs - Zone Descriptor Data Structure - Zone State
* @NVME_ZNS_ZS_EMPTY: Empty state
* @NVME_ZNS_ZS_IMPL_OPEN: Implicitly open state
* @NVME_ZNS_ZS_EXPL_OPEN: Explicitly open state
};
/**
- * struct nvme_zns_desc -
+ * struct nvme_zns_desc - Zone Descriptor Data Structure
* @zt: Zone Type
* @zs: Zone State
* @za: Zone Attributes
};
/**
- * struct nvme_zone_report -
+ * struct nvme_zone_report - Report Zones Data Structure
* @nr_zones: Number of descriptors in @entries
* @rsvd8: Reserved
* @entries: Zoned namespace descriptors
};
/**
- * struct nvme_lba_status_desc -
+ * struct nvme_lba_status_desc - LBA Status Descriptor Entry
* @dslba: Descriptor Starting LBA
* @nlb: Number of Logical Blocks
* @rsvd12: Reserved
};
/**
- * struct nvme_lba_status -
+ * struct nvme_lba_status - LBA Status Descriptor List
* @nlsd: Number of LBA Status Descriptors
* @cmpc: Completion Condition
* @rsvd5: Reserved
};
/**
- * struct nvme_feat_auto_pst -
+ * struct nvme_feat_auto_pst - Autonomous Power State Transition
* @apst_entry: See &enum nvme_apst_entry
*/
struct nvme_feat_auto_pst {
};
/**
- * enum nvme_apst_entry -
- * @NVME_APST_ENTRY_ITPS_SHIFT:
- * @NVME_APST_ENTRY_ITPT_SHIFT:
- * @NVME_APST_ENTRY_ITPS_MASK:
- * @NVME_APST_ENTRY_ITPT_MASK:
+ * enum nvme_apst_entry - Autonomous Power State Transition
+ * @NVME_APST_ENTRY_ITPS_SHIFT: Idle Transition Power State Shift
+ * @NVME_APST_ENTRY_ITPT_SHIFT: Idle Time Prior to Transition Shift
+ * @NVME_APST_ENTRY_ITPS_MASK: Idle Transition Power State Mask
+ * @NVME_APST_ENTRY_ITPT_MASK: Idle Time Prior to Transition Mask
*/
enum nvme_apst_entry {
NVME_APST_ENTRY_ITPS_SHIFT = 3,
};
/**
- * struct nvme_timestamp -
+ * struct nvme_timestamp - Timestamp - Data Structure for Get Features
* @timestamp: Timestamp value based on origin and synch field
* @attr: Attribute
* @rsvd: Reserved
};
/**
- * struct nvme_lba_range_type_entry -
+ * struct nvme_lba_range_type_entry - LBA Range Type - Data Structure Entry
* @type: Specifies the Type of the LBA range
* @attributes: Specifies attributes of the LBA range
* @rsvd2: Reserved
};
/**
- * enum nvme_lbart -
+ * enum nvme_lbart - LBA Range Type - Data Structure Entry
* @NVME_LBART_TYPE_GP: General Purpose
* @NVME_LBART_TYPE_FS: Filesystem
* @NVME_LBART_TYPE_RAID: RAID
};
/**
- * struct nvme_lba_range_type -
- * @entry: LBA range type entry
+ * struct nvme_lba_range_type - LBA Range Type
+ * @entry: LBA range type entry. See @struct nvme_lba_range_type_entry
*/
struct nvme_lba_range_type {
struct nvme_lba_range_type_entry entry[NVME_FEAT_LBA_RANGE_MAX];
};
/**
- * struct nvme_plm_config -
+ * struct nvme_plm_config - Predictable Latency Mode - Deterministic Threshold Configuration Data Structure
* @ee: Enable Event
* @rsvd2: Reserved
* @dtwinrt: DTWIN Reads Threshold
};
/**
- * struct nvme_feat_host_behavior -
+ * struct nvme_feat_host_behavior - Host Behavior Support - Data Structure
* @acre: Advanced Command Retry Enable
* @rsvd1: Reserved
*/
};
/**
- * enum nvme_host_behavior_support -
+ * enum nvme_host_behavior_support - Enable Advanced Command
* @NVME_ENABLE_ACRE: Enable Advanced Command Retry Enable
*/
enum nvme_host_behavior_support {
};
/**
- * struct nvme_dsm_range -
+ * struct nvme_dsm_range - Dataset Management - Range Definition
* @cattr: Context Attributes
* @nlb: Length in logical blocks
* @slba: Starting LBA
};
/**
- * struct nvme_copy_range -
+ * struct nvme_copy_range - Copy - Source Range Entries Descriptor Format
* @rsvd0: Reserved
* @slba: Starting LBA
* @nlb: Number of Logical Blocks
};
/**
- * struct nvme_copy_range_f1 -
+ * struct nvme_copy_range_f1 - Copy - Source Range Entries Descriptor Format 1h
* @rsvd0: Reserved
* @slba: Starting LBA
* @nlb: Number of Logical Blocks
};
/**
- * struct nvme_registered_ctrl -
+ * struct nvme_registered_ctrl - Registered Controller Data Structure
* @cntlid: Controller ID
* @rcsts: Reservation Status
* @rsvd3: Reserved
};
/**
- * struct nvme_registered_ctrl_ext -
+ * struct nvme_registered_ctrl_ext - Registered Controller Extended Data Structure
* @cntlid: Controller ID
* @rcsts: Reservation Status
* @rsvd3: Reserved
};
/**
- * struct nvme_resv_status -
+ * struct nvme_resv_status - Reservation Status Data Structure
* @gen: Generation
* @rtype: Reservation Type
* @regctl: Number of Registered Controllers
};
/**
- * struct nvme_streams_directive_params -
+ * struct nvme_streams_directive_params - Streams Directive - Return Parameters Data Structure
* @msl: Max Streams Limit
* @nssa: NVM Subsystem Streams Available
* @nsso: NVM Subsystem Streams Open
};
/**
- * struct nvme_streams_directive_status -
+ * struct nvme_streams_directive_status - Streams Directive - Get Status Data Structure
* @osc: Open Stream Count
* @sid: Stream Identifier
*/
};
/**
- * struct nvme_id_directives -
+ * struct nvme_id_directives - Identify Directive - Return Parameters Data Structure
* @supported: Identify directive is supported
* @enabled: Identify directive is Enabled
* @rsvd64: Reserved
};
/**
- * enum nvme_directive_types -
+ * enum nvme_directive_types - Directives Supported or Enabled
* @NVME_ID_DIR_ID_BIT: Identify directive is supported
* @NVME_ID_DIR_SD_BIT: Streams directive is supported
*/
};
/**
- * struct nvme_host_mem_buf_attrs -
+ * struct nvme_host_mem_buf_attrs - Host Memory Buffer - Attributes Data Structure
* @hsize: Host Memory Buffer Size
* @hmdlal: Host Memory Descriptor List Lower Address
* @hmdlau: Host Memory Descriptor List Upper Address
};
/**
- * enum nvme_ae_type -
+ * enum nvme_ae_type - Asynchronous Event Type
* @NVME_AER_ERROR: Error event
* @NVME_AER_SMART: SMART / Health Status event
* @NVME_AER_NOTICE: Notice event
};
/**
- * enum nvme_ae_info_error -
+ * enum nvme_ae_info_error - Asynchronous Event Information - Error Status
* @NVME_AER_ERROR_INVALID_DB_REG: Write to Invalid Doorbell Register
* @NVME_AER_ERROR_INVALID_DB_VAL: Invalid Doorbell Write Value
* @NVME_AER_ERROR_DIAG_FAILURE: Diagnostic Failure
};
/**
- * enum nvme_ae_info_smart -
+ * enum nvme_ae_info_smart - Asynchronous Event Information - SMART / Health Status
* @NVME_AER_SMART_SUBSYSTEM_RELIABILITY: NVM subsystem Reliability
* @NVME_AER_SMART_TEMPERATURE_THRESHOLD: Temperature Threshold
* @NVME_AER_SMART_SPARE_THRESHOLD: Spare Below Threshold
};
/**
- * enum nvme_ae_info_css_nvm -
+ * enum nvme_ae_info_css_nvm - Asynchronous Event Information - I/O Command Specific Status
* @NVME_AER_CSS_NVM_RESERVATION: Reservation Log Page Available
* @NVME_AER_CSS_NVM_SANITIZE_COMPLETED: Sanitize Operation Completed
* @NVME_AER_CSS_NVM_UNEXPECTED_SANITIZE_DEALLOC: Sanitize Operation Completed
};
/**
- * enum nvme_ae_info_notice -
+ * enum nvme_ae_info_notice - Asynchronous Event Information - Notice
* @NVME_AER_NOTICE_NS_CHANGED: Namespace Attribute Changed
* @NVME_AER_NOTICE_FW_ACT_STARTING: Firmware Activation Starting
* @NVME_AER_NOTICE_TELEMETRY: Telemetry Log Changed
};
/**
- * struct nvme_mi_read_nvm_ss_info -
+ * struct nvme_mi_read_nvm_ss_info - NVM Subsystem Information Data Structure
* @nump: Number of Ports
* @mjr: NVMe-MI Major Version Number
* @mnr: NVMe-MI Minor Version Number
};
/**
- * struct nvme_mi_port_pcie -
+ * struct nvme_mi_port_pcie - PCIe Port Specific Data
* @mps: PCIe Maximum Payload Size
* @sls: PCIe Supported Link Speeds Vector
* @cls: PCIe Current Link Speed
};
/**
- * struct nvme_mi_port_smb -
+ * struct nvme_mi_port_smb - SMBus Port Specific Data
* @vpd_addr: Current VPD SMBus/I2C Address
* @mvpd_freq: Maximum VPD Access SMBus/I2C Frequency
* @mme_addr: Current Management Endpoint SMBus/I2C Address
};
/**
- * struct nvme_mi_read_port_info -
+ * struct nvme_mi_read_port_info - Port Information Data Structure
* @portt: Port Type
* @rsvd1: Reserved
* @mmctptus: Maximum MCTP Transmission Unit Size
};
/**
- * struct nvme_mi_read_ctrl_info -
+ * struct nvme_mi_read_ctrl_info - Controller Information Data Structure
* @portid: Port Identifier
* @rsvd1: Reserved
* @prii: PCIe Routing ID Information
};
/**
- * struct nvme_mi_osc -
+ * struct nvme_mi_osc - Optionally Supported Command Data Structure
* @type: Command Type
* @opc: Opcode
*/
};
/**
- * struct nvme_mi_read_sc_list -
+ * struct nvme_mi_read_sc_list - Management Endpoint Buffer Supported Command List Data Structure
* @numcmd: Number of Commands
- * @cmds: MEB supported Command Data Structure
+ * @cmds: MEB supported Command Data Structure.
+ * See @struct nvme_mi_osc
*/
struct nvme_mi_read_sc_list {
__le16 numcmd;
};
/**
- * struct nvme_mi_nvm_ss_health_status -
+ * struct nvme_mi_nvm_ss_health_status - Subsystem Management Data Structure
* @nss: NVM Subsystem Status
* @sw: Smart Warnings
* @ctemp: Composite Temperature
};
/**
- * enum nvme_mi_css -
+ * enum nvme_mi_css - Get State Control Primitive Success Response Fields - Control Primitive Specific Response
* @NVME_MI_CCS_RDY: Ready
* @NVME_MI_CSS_CFS: Controller Fatal Status
* @NVME_MI_CSS_SHST: Shutdown Status
};
/**
- * struct nvme_mi_ctrl_health_status -
+ * struct nvme_mi_ctrl_health_status - Controller Health Data Structure (CHDS)
* @ctlid: Controller Identifier
* @csts: Controller Status
* @ctemp: Composite Temperature
};
/**
- * enum nvme_mi_csts -
+ * enum nvme_mi_csts - Controller Health Data Structure (CHDS) - Controller Status (CSTS)
* @NVME_MI_CSTS_RDY: Ready
* @NVME_MI_CSTS_CFS: Controller Fatal Status
* @NVME_MI_CSTS_SHST: Shutdown Status
};
/**
- * enum nvme_mi_cwarn -
+ * enum nvme_mi_cwarn - Controller Health Data Structure (CHDS) - Critical Warning (CWARN)
* @NVME_MI_CWARN_ST: Spare Threshold
* @NVME_MI_CWARN_TAUT: Temperature Above or Under Threshold
* @NVME_MI_CWARN_RD: Reliability Degraded
};
/**
- * struct nvme_mi_vpd_mra -
+ * struct nvme_mi_vpd_mra - NVMe MultiRecord Area
* @nmravn: NVMe MultiRecord Area Version Number
* @ff: Form Factor
* @rsvd7: Reserved
* @i33vpwr: Initial 3.3 V Power Supply Requirements
* @m33vpwr: Maximum 3.3 V Power Supply Requirements
* @rsvd17: Reserved
- * @m33vapsr: Maximum 3.3 V aux Power Supply Requirements
+ * @m33vapsr: Maximum 3.3 Vi aux Power Supply Requirements
* @i5vapsr: Initial 5 V Power Supply Requirements
* @m5vapsr: Maximum 5 V Power Supply Requirements
* @i12vapsr: Initial 12 V Power Supply Requirements
};
/**
- * struct nvme_mi_vpd_ppmra -
+ * struct nvme_mi_vpd_ppmra - NVMe PCIe Port MultiRecord Area
* @nppmravn: NVMe PCIe Port MultiRecord Area Version Number
* @pn: PCIe Port Number
* @ppi: Port Information
};
/**
- * struct nvme_mi_vpd_telem -
+ * struct nvme_mi_vpd_telem - Vital Product Data Element Descriptor
* @type: Type of the Element Descriptor
* @rev: Revision of the Element Descriptor
* @len: Number of bytes in the Element Descriptor
};
/**
- * enum nvme_mi_elem -
+ * enum nvme_mi_elem - Element Descriptor Types
* @NVME_MI_ELEM_EED: Extended Element Descriptor
* @NVME_MI_ELEM_USCE: Upstream Connector Element Descriptor
* @NVME_MI_ELEM_ECED: Expansion Connector Element Descriptor
};
/**
- * struct nvme_mi_vpd_tra -
+ * struct nvme_mi_vpd_tra - Vital Product Data Topology MultiRecord
* @vn: Version Number
* @rsvd6: Reserved
* @ec: Element Count
};
/**
- * struct nvme_mi_vpd_mr_common -
+ * struct nvme_mi_vpd_mr_common - NVMe MultiRecord Area
* @type: NVMe Record Type ID
* @rf: Record Format
* @rlen: Record Length
};
/**
- * struct nvme_mi_vpd_hdr -
+ * struct nvme_mi_vpd_hdr - Vital Product Data Common Header
* @ipmiver: IPMI Format Version Number
* @iuaoff: Internal Use Area Starting Offset
* @ciaoff: Chassis Info Area Starting Offset
* @NVME_SCT_PATH: Errors associated with the paths connection
* @NVME_SCT_VS: Vendor specific errors
* @NVME_SCT_MASK: Mask to get the value of the Status Code Type
+ * @NVME_SCT_SHIFT: Shift value to get the value of the Status
+ * Code Type
* @NVME_SC_MASK: Mask to get the value of the status code.
+ * @NVME_SC_SHIFT: Shift value to get the value of the status
+ * code.
* @NVME_SC_SUCCESS: Successful Completion: The command
* completed without error.
* @NVME_SC_INVALID_OPCODE: Invalid Command Opcode: A reserved coded
* transient condition.
* @NVME_SC_REQSTD_FUNCTION_DISABLED: Fabric Zoning is not enabled on the
* CDC
- * @NVME_SC_ZONEGRP_ORIGINATOR_INVL: The NQN contained in the ZoneGroup
+ * @NVME_SC_ZONEGRP_ORIGINATOR_INVLD: The NQN contained in the ZoneGroup
* Originator field does not match the
* Host NQN used by the DDC to connect
* to the CDC.
/**
* nvme_status_code_type() - Returns the NVMe Status Code Type
- * @status_field: The NVMe Completion Queue Entry's Status Field
+ * @status_field: The NVMe Completion Queue Entry's Status Field
+ * See &enum nvme_status_field
*
- * See &enum nvme_status_field
+ * Returns: status code type
*/
static inline __u16 nvme_status_code_type(__u16 status_field)
{
/**
* nvme_status_code() - Returns the NVMe Status Code
- * @status_field: The NVMe Completion Queue Entry's Status Field
+ * @status_field: The NVMe Completion Queue Entry's Status Field
+ * See &enum nvme_status_field
*
- * See &enum nvme_status_field
+ * Returns: status code
*/
static inline __u16 nvme_status_code(__u16 status_field)
{
};
/**
- * enum nvme_identify_cns -
+ * enum nvme_identify_cns - Identify - CNS Values
* @NVME_IDENTIFY_CNS_NS: Identify Namespace data structure
* @NVME_IDENTIFY_CNS_CTRL: Identify Controller data structur
* @NVME_IDENTIFY_CNS_NS_ACTIVE_LIST: Active Namespace ID list
* @NVME_IDENTIFY_CNS_CSI_NS_ACTIVE_LIST: Active Namespace ID list associated
* with the specified I/O Command Set
* @NVME_IDENTIFY_CNS_CSI_INDEPENDENT_ID_NS: I/O Command Set Independent Identify
+ * @NVME_IDENTIFY_CNS_NS_USER_DATA_FORMAT: Namespace user data format
+ * @NVME_IDENTIFY_CNS_CSI_NS_USER_DATA_FORMAT: I/O Command Set specific user data
+ * format
* Namespace data structure
* @NVME_IDENTIFY_CNS_ALLOCATED_NS_LIST: Allocated Namespace ID list
* @NVME_IDENTIFY_CNS_ALLOCATED_NS: Identify Namespace data structure for
};
/**
- * enum nvme_cmd_get_log_lid -
+ * enum nvme_cmd_get_log_lid - Get Log Page -Log Page Identifiers
* @NVME_LOG_LID_SUPPORTED_LOG_PAGES: Supported Log Pages
* @NVME_LOG_LID_ERROR: Error Information
* @NVME_LOG_LID_SMART: SMART / Health Information
};
/**
- * enum nvme_features_id -
+ * enum nvme_features_id - Features - Feature Identifiers
* @NVME_FEAT_FID_ARBITRATION: Arbitration
* @NVME_FEAT_FID_POWER_MGMT: Power Management
* @NVME_FEAT_FID_LBA_RANGE: LBA Range Type
};
/**
- * enum nvme_feat -
+ * enum nvme_feat - Features Access Shifts/Masks values
* @NVME_FEAT_ARBITRATION_BURST_SHIFT:
* @NVME_FEAT_ARBITRATION_BURST_MASK:
* @NVME_FEAT_ARBITRATION_LPW_SHIFT:
};
/**
- * enum nvme_get_features_sel -
+ * enum nvme_get_features_sel - Get Features - Select
* @NVME_GET_FEATURES_SEL_CURRENT: Current value
* @NVME_GET_FEATURES_SEL_DEFAULT: Default value
* @NVME_GET_FEATURES_SEL_SAVED: Saved value
};
/**
- * enum nvme_ns_mgmt_sel -
+ * enum nvme_ns_mgmt_sel - Namespace Management - Select
* @NVME_NS_MGMT_SEL_CREATE: Namespace Create selection
* @NVME_NS_MGMT_SEL_DELETE: Namespace Delete selection
*/
};
/**
- * enum nvme_ns_attach_sel -
+ * enum nvme_ns_attach_sel - Namespace Attachment - Select
* @NVME_NS_ATTACH_SEL_CTRL_ATTACH: Namespace attach selection
* @NVME_NS_ATTACH_SEL_CTRL_DEATTACH: Namespace detach selection
*/
};
/**
- * enum nvme_fw_commit_ca -
+ * enum nvme_fw_commit_ca - Firmware Commit - Commit Action
* @NVME_FW_COMMIT_CA_REPLACE: Downloaded image replaces the existing
* image, if any, in the specified Firmware
* Slot. The newly placed image is not
};
/**
- * enum nvme_directive_dtype -
+ * enum nvme_directive_dtype - Directive Types
* @NVME_DIRECTIVE_DTYPE_IDENTIFY: Identify directive type
* @NVME_DIRECTIVE_DTYPE_STREAMS: Streams directive type
*/
};
/**
- * enum nvme_directive_receive_doper -
+ * enum nvme_directive_receive_doper - Directive Receive Directive Operation
* @NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM:
* @NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM:
* @NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS:
};
/**
- * enum nvme_directive_send_doper -
+ * enum nvme_directive_send_doper - Directive Send Directive Operation
* @NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR:
* @NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER:
* @NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE:
};
/**
- * enum nvme_directive_send_identify_endir -
+ * enum nvme_directive_send_identify_endir - Enable Directive
* @NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_DISABLE:
* @NVME_DIRECTIVE_SEND_IDENTIFY_ENDIR_ENABLE:
*/
};
/**
- * enum nvme_virt_mgmt_act -
+ * enum nvme_virt_mgmt_act - Virtualization Management - Action
* @NVME_VIRT_MGMT_ACT_PRIM_CTRL_FLEX_ALLOC: Primary Controller Flexible
* Allocation
* @NVME_VIRT_MGMT_ACT_OFFLINE_SEC_CTRL: Secondary Controller Offline
};
/**
- * enum nvme_virt_mgmt_rt -
+ * enum nvme_virt_mgmt_rt - Virtualization Management - Resource Type
* @NVME_VIRT_MGMT_RT_VQ_RESOURCE: VQ Resources
* @NVME_VIRT_MGMT_RT_VI_RESOURCE: VI Resources
*/
};
/**
- * enum nvme_ns_write_protect_cfg -
+ * enum nvme_ns_write_protect_cfg - Write Protection - Write Protection State
* @NVME_NS_WP_CFG_NONE: No Write Protect
* @NVME_NS_WP_CFG_PROTECT: Write Protect
* @NVME_NS_WP_CFG_PROTECT_POWER_CYCLE: Write Protect Until Power Cycle
};
/**
- * enum nvme_log_ana_lsp -
+ * enum nvme_log_ana_lsp - Asymmetric Namespace Access - Return Groups Only
* @NVME_LOG_ANA_LSP_RGO_NAMESPACES:
* @NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY:
*/
};
/**
- * enum nvme_pevent_log_action -
+ * enum nvme_pevent_log_action - Persistent Event Log - Action
* @NVME_PEVENT_LOG_READ: Read Log Data
* @NVME_PEVENT_LOG_EST_CTX_AND_READ: Establish Context and Read Log Data
* @NVME_PEVENT_LOG_RELEASE_CTX: Release Context
};
/**
- * enum nvme_feat_tmpthresh_thsel -
+ * enum nvme_feat_tmpthresh_thsel - Temperature Threshold - Threshold Type Select
* @NVME_FEATURE_TEMPTHRESH_THSEL_OVER: Over temperature threshold select
* @NVME_FEATURE_TEMPTHRESH_THSEL_UNDER: Under temperature threshold select
*/
};
/**
- * enum nvme_features_async_event_config_flags -
+ * enum nvme_features_async_event_config_flags - Asynchronous Event Configuration configuration flags
* @NVME_FEATURE_AENCFG_SMART_CRIT_SPARE:
* @NVME_FEATURE_AENCFG_SMART_CRIT_TEMPERATURE:
* @NVME_FEATURE_AENCFG_SMART_CRIT_DEGRADED:
};
/**
- * enum nvme_feat_plm_window_select -
+ * enum nvme_feat_plm_window_select - Predictable Latency Per NVM Set Log
* @NVME_FEATURE_PLM_DTWIN: Deterministic Window select
* @NVME_FEATURE_PLM_NDWIN: Non-Deterministic Window select
*/
};
/**
- * enum nvme_feat_resv_notify_flags -
+ * enum nvme_feat_resv_notify_flags - Reservation Notification Configuration
* @NVME_FEAT_RESV_NOTIFY_REGPRE: Mask Registration Preempted Notification
* @NVME_FEAT_RESV_NOTIFY_RESREL: Mask Reservation Released Notification
* @NVME_FEAT_RESV_NOTIFY_RESPRE: Mask Reservation Preempted Notification
};
/**
- * enum nvme_feat_nswpcfg_state -
+ * enum nvme_feat_nswpcfg_state - Write Protection - Write Protection State
* @NVME_FEAT_NS_NO_WRITE_PROTECT: No Write Protect
* @NVME_FEAT_NS_WRITE_PROTECT: Write Protect
* @NVME_FEAT_NS_WRITE_PROTECT_PWR_CYCLE: Write Protect Until Power Cycle
};
/**
- * enum nvme_fctype -
+ * enum nvme_fctype - Fabrics Command Types
* @nvme_fabrics_type_property_set: Property set
* @nvme_fabrics_type_connect: Connect
* @nvme_fabrics_type_property_get: Property Get
};
/**
- * enum nvme_io_opcode -
+ * enum nvme_io_opcode - Opcodes for I/O Commands
* @nvme_cmd_flush: Flush
* @nvme_cmd_write: Write
* @nvme_cmd_read: Read
};
/**
- * enum nvme_io_control_flags -
+ * enum nvme_io_control_flags - I/O control flags
* @NVME_IO_DTYPE_STREAMS: Directive Type Streams
* @NVME_IO_STC: Storage Tag Check
* @NVME_IO_DEAC: Deallocate
};
/**
- * enum nvme_io_dsm_flags -
+ * enum nvme_io_dsm_flags - Dataset Management flags
* @NVME_IO_DSM_FREQ_UNSPEC: No frequency information provided
* @NVME_IO_DSM_FREQ_TYPICAL: Typical number of reads and writes
* expected for this LBA range
};
/**
- * enum nvme_dsm_attributes -
- * @NVME_DSMGMT_IDR: Attribute – Integral Dataset for Read
- * @NVME_DSMGMT_IDW: Attribute – Integral Dataset for Write
- * @NVME_DSMGMT_AD: Attribute – Deallocate
+ * enum nvme_dsm_attributes - Dataset Management attributes
+ * @NVME_DSMGMT_IDR: Attribute -Integral Dataset for Read
+ * @NVME_DSMGMT_IDW: Attribute - Integral Dataset for Write
+ * @NVME_DSMGMT_AD: Attribute - Deallocate
*/
enum nvme_dsm_attributes {
NVME_DSMGMT_IDR = 1 << 0,
};
/**
- * enum nvme_resv_rtype -
+ * enum nvme_resv_rtype - Reservation Type Encoding
* @NVME_RESERVATION_RTYPE_WE: Write Exclusive Reservation
* @NVME_RESERVATION_RTYPE_EA: Exclusive Access Reservation
* @NVME_RESERVATION_RTYPE_WERO: Write Exclusive - Registrants Only Reservation
};
/**
- * enum nvme_resv_racqa -
+ * enum nvme_resv_racqa - Reservation Acquire - Reservation Acquire Action
* @NVME_RESERVATION_RACQA_ACQUIRE: Acquire
* @NVME_RESERVATION_RACQA_PREEMPT: Preempt
* @NVME_RESERVATION_RACQA_PREEMPT_AND_ABORT: Preempt and Abort
};
/**
- * enum nvme_resv_rrega -
+ * enum nvme_resv_rrega - Reservation Register - Reservation Register Action
* @NVME_RESERVATION_RREGA_REGISTER_KEY: Register Reservation Key
* @NVME_RESERVATION_RREGA_UNREGISTER_KEY: Unregister Reservation Key
* @NVME_RESERVATION_RREGA_REPLACE_KEY: Replace Reservation Key
};
/**
- * enum nvme_resv_cptpl -
+ * enum nvme_resv_cptpl - Reservation Register - Change Persist Through Power Loss State
* @NVME_RESERVATION_CPTPL_NO_CHANGE: No change to PTPL state
* @NVME_RESERVATION_CPTPL_CLEAR: Reservations are released and
* registrants are cleared on a power on
};
/**
- * enum nvme_resv_rrela -
+ * enum nvme_resv_rrela - Reservation Release - Reservation Release Action
* @NVME_RESERVATION_RRELA_RELEASE: Release
* @NVME_RESERVATION_RRELA_CLEAR: Clear
*/
};
/**
- * enum nvme_zns_send_action -
+ * enum nvme_zns_send_action - Zone Management Send - Zone Send Action
* @NVME_ZNS_ZSA_CLOSE: Close Zone
* @NVME_ZNS_ZSA_FINISH: Finish Zone
* @NVME_ZNS_ZSA_OPEN: Open Zone
};
/**
- * enum nvme_zns_recv_action -
+ * enum nvme_zns_recv_action - Zone Management Receive - Zone Receive Action Specific Features
* @NVME_ZNS_ZRA_REPORT_ZONES: Report Zones
* @NVME_ZNS_ZRA_EXTENDED_REPORT_ZONES: Extended Report Zones
*/
};
/**
- * enum nvme_zns_report_options -
+ * enum nvme_zns_report_options - Zone Management Receive - Zone Receive Action Specific Field
* @NVME_ZNS_ZRAS_REPORT_ALL: List all zones
* @NVME_ZNS_ZRAS_REPORT_EMPTY: List the zones in the ZSE:Empty state
* @NVME_ZNS_ZRAS_REPORT_IMPL_OPENED: List the zones in the ZSIO:Implicitly Opened state