From 90cf2208656c513b78a587e3e0f1f64144c0f209 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 3 Apr 2023 09:38:52 +0200 Subject: Merging upstream version 1.4. Signed-off-by: Daniel Baumann --- src/nvme/types.h | 80 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 35 deletions(-) (limited to 'src/nvme/types.h') diff --git a/src/nvme/types.h b/src/nvme/types.h index 929d658..eed50ef 100644 --- a/src/nvme/types.h +++ b/src/nvme/types.h @@ -2239,8 +2239,8 @@ struct nvme_id_ctrl_nvm { __u8 wzsl; __u8 wusl; __u8 dmrl; - __u32 dmrsl; - __u64 dmsl; + __le32 dmrsl; + __le64 dmsl; __u8 rsvd16[4080]; }; @@ -2407,7 +2407,7 @@ struct nvme_secondary_ctrl_list { * @iocsc: List of supported IO Command Set Combination vectors */ struct nvme_id_iocs { - __u64 iocsc[512]; + __le64 iocsc[512]; }; /** @@ -2515,12 +2515,18 @@ struct nvme_supported_log_pages { * related, this field shall be cleared to %0h. If the error * is transport related, this field shall be set to the type * of the transport - see &enum nvme_trtype. - * @rsvd: Reserved + * @csi: Command Set Indicator: This field contains command set + * indicator for the command that the error is associated + * with. + * @opcode: Opcode: This field contains opcode for the command that + * the error is associated with. * @cs: Command Specific Information: This field contains command * specific information. If used, the command definition * specifies the information returned. * @trtype_spec_info: Transport Type Specific Information - * @rsvd2: Reserved + * @rsvd: Reserved: [62:42] + * @log_page_version: This field shall be set to 1h. If set, @csi and @opcode + * will have valid values. */ struct nvme_error_log_page { __le64 error_count; @@ -2532,10 +2538,12 @@ struct nvme_error_log_page { __le32 nsid; __u8 vs; __u8 trtype; - __u8 rsvd[2]; + __u8 csi; + __u8 opcode; __le64 cs; __le16 trtype_spec_info; - __u8 rsvd2[22]; + __u8 rsvd[21]; + __u8 log_page_version; }; enum nvme_err_pel { @@ -4147,15 +4155,15 @@ enum nvme_fdp_config_fdpa { * @ruhs: Reclaim Unit Handle descriptors (&struct nvme_fdp_ruh_desc) */ struct nvme_fdp_config_desc { - __u16 size; + __le16 size; __u8 fdpa; __u8 vss; - __u32 nrg; - __u16 nruh; - __u16 maxpids; - __u32 nnss; - __u64 runs; - __u32 erutl; + __le32 nrg; + __le16 nruh; + __le16 maxpids; + __le32 nnss; + __le64 runs; + __le32 erutl; __u8 rsvd28[36]; struct nvme_fdp_ruh_desc ruhs[]; }; @@ -4170,10 +4178,10 @@ struct nvme_fdp_config_desc { * @configs: FDP Configuration descriptors (&struct nvme_fdp_config_desc) */ struct nvme_fdp_config_log { - __u16 n; + __le16 n; __u8 version; __u8 rsvd3; - __u32 size; + __le32 size; __u8 rsvd8[8]; struct nvme_fdp_config_desc configs[]; }; @@ -4209,7 +4217,7 @@ struct nvme_fdp_ruhu_desc { * @ruhus: Reclaim Unit Handle Usage descriptors */ struct nvme_fdp_ruhu_log { - __u16 nruh; + __le16 nruh; __u8 rsvd2[6]; struct nvme_fdp_ruhu_desc ruhus[]; }; @@ -4268,8 +4276,8 @@ enum nvme_fdp_event_realloc_flags { struct nvme_fdp_event_realloc { __u8 flags; __u8 rsvd1; - __u16 nlbam; - __u64 lba; + __le16 nlbam; + __le64 lba; __u8 rsvd12[4]; }; @@ -4301,11 +4309,11 @@ enum nvme_fdp_event_flags { struct nvme_fdp_event { __u8 type; __u8 flags; - __u16 pid; + __le16 pid; struct nvme_timestamp ts; - __u32 nsid; + __le32 nsid; __u8 type_specific[16]; - __u16 rgid; + __le16 rgid; __u8 ruhid; __u8 rsvd35[5]; __u8 vs[24]; @@ -4318,7 +4326,7 @@ struct nvme_fdp_event { * @events: FDP Events (&struct nvme_fdp_event) */ struct nvme_fdp_events_log { - __u32 n; + __le32 n; __u8 rsvd4[60]; struct nvme_fdp_event events[63]; }; @@ -4330,7 +4338,7 @@ struct nvme_fdp_events_log { * @rsvd24: Reserved */ struct nvme_feat_fdp_events_cdw11 { - __u16 phndl; + __le16 phndl; __u8 noet; __u8 rsvd24; }; @@ -4364,10 +4372,10 @@ struct nvme_fdp_supported_event_desc { * @rsvd16: Reserved */ struct nvme_fdp_ruh_status_desc { - __u16 pid; - __u16 ruhid; - __u32 earutr; - __u64 ruamw; + __le16 pid; + __le16 ruhid; + __le32 earutr; + __le64 ruamw; __u8 rsvd16[16]; }; @@ -4379,7 +4387,7 @@ struct nvme_fdp_ruh_status_desc { */ struct nvme_fdp_ruh_status { __u8 rsvd0[14]; - __u16 nruhsd; + __le16 nruhsd; struct nvme_fdp_ruh_status_desc ruhss[]; }; @@ -4445,7 +4453,7 @@ enum nvme_apst_entry { struct nvme_metadata_element_desc { __u8 type; __u8 rev; - __u16 len; + __le16 len; __u8 val[0]; }; @@ -4541,8 +4549,8 @@ struct nvme_lba_range_type_entry { __u8 type; __u8 attributes; __u8 rsvd2[14]; - __u64 slba; - __u64 nlb; + __le64 slba; + __le64 nlb; __u8 guid[16]; __u8 rsvd48[16]; }; @@ -4640,8 +4648,8 @@ struct nvme_copy_range { __le16 nlb; __u8 rsvd18[6]; __le32 eilbrt; - __le16 elbatm; __le16 elbat; + __le16 elbatm; }; /** @@ -4661,8 +4669,8 @@ struct nvme_copy_range_f1 { __le16 nlb; __u8 rsvd18[8]; __u8 elbt[10]; - __le16 elbatm; __le16 elbat; + __le16 elbatm; }; /** @@ -4779,10 +4787,12 @@ struct nvme_id_directives { * 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 + * @NVME_ID_DIR_DP_BIT: Direct Placement directive is supported */ enum nvme_directive_types { NVME_ID_DIR_ID_BIT = 0, NVME_ID_DIR_SD_BIT = 1, + NVME_ID_DIR_DP_BIT = 2, }; /** @@ -4973,7 +4983,7 @@ union nvmf_tsas { __u8 prtype; __u8 cms; __u8 rsvd3[5]; - __u16 pkey; + __le16 pkey; __u8 rsvd10[246]; } rdma; struct tcp { -- cgit v1.2.3