@@ -1373,11 +1373,24 @@ struct nvme_id_psd {
13731373 * of a single Endurance Group.
13741374 * @tmpthha: Temperature Threshold Hysteresis Attributes
13751375 * @rsvd385: Reserved
1376- * @cqt: Command Quiesce Time (CQT). his field indicates the expected
1376+ * @cqt: Command Quiesce Time (CQT). This field indicates the expected
13771377 * worst-case time in 1 millisecond units for the controller to
13781378 * quiesce all outstanding commands after a Keep Alive Timeout or
13791379 * other communication loss.
1380- * @rsvd388: Reserved
1380+ * @cdpa: Configurable Device Personality Attributes: This field
1381+ * indicates the Configurable Device Personality feature attributes
1382+ * the controller supports.
1383+ * @mup: Maximum Unlimited Power: This field specifies the maximum
1384+ * power for power state 0 that results from removal of a power
1385+ * limit (i.e., the maximum power is not limited).
1386+ * @ipmsr: Interval Power Measurement Sample Rate: This field
1387+ * indicates the maximum interval between power measurement
1388+ * samples used to collect interval power measurements.
1389+ * @msmt: Maximum Stop Measurement Time: This field indicates the
1390+ * maximum stop measurement time allowed to be specified in the
1391+ * SMT field for a Set Features command specifying the Power
1392+ * Measurement feature.
1393+ * @rsvd396: Reserved
13811394 * @sqes: Submission Queue Entry Size, see &enum nvme_id_ctrl_sqes.
13821395 * @cqes: Completion Queue Entry Size, see &enum nvme_id_ctrl_cqes.
13831396 * @maxcmd: Maximum Outstanding Commands indicates the maximum number of
@@ -1485,7 +1498,11 @@ struct nvme_id_psd {
14851498 * @dctype: Discovery Controller Type (DCTYPE). This field indicates what
14861499 * type of Discovery controller the controller is (see enum
14871500 * nvme_id_ctrl_dctype)
1488- * @rsvd1807: Reserved
1501+ * @ccrl: Cross-Controller Reset Limit: This field indicates the limit
1502+ * on the number of simultaneous in-progress Cross-Controller Reset
1503+ * operations this controller is able to cause to be initiated that
1504+ * are supported.
1505+ * @rsvd1808: Reserved
14891506 * @psd: Power State Descriptors, see &struct nvme_id_psd.
14901507 * @vs: Vendor Specific
14911508 */
@@ -1564,7 +1581,11 @@ struct nvme_id_ctrl {
15641581 __u8 tmpthha ;
15651582 __u8 rsvd385 ;
15661583 __le16 cqt ;
1567- __u8 rsvd388 [124 ];
1584+ __le16 cdpa ;
1585+ __le16 mup ;
1586+ __le16 ipmsr ;
1587+ __le16 msmt ;
1588+ __u8 rsvd396 [116 ];
15681589 __u8 sqes ;
15691590 __u8 cqes ;
15701591 __le16 maxcmd ;
@@ -1609,7 +1630,8 @@ struct nvme_id_ctrl {
16091630 __u8 msdbd ;
16101631 __le16 ofcs ;
16111632 __u8 dctype ;
1612- __u8 rsvd1807 [241 ];
1633+ __u8 ccrl ;
1634+ __u8 rsvd1808 [240 ];
16131635
16141636 struct nvme_id_psd psd [32 ];
16151637 __u8 vs [1024 ];
@@ -2278,6 +2300,33 @@ enum nvme_id_ctrl_kpioc {
22782300 NVME_CTRL_KPIOC_KPIOSC_MASK = 0x1 ,
22792301};
22802302
2303+ /**
2304+ * enum nvme_id_ctrl_cdpa - Configurable Device Personality Attributes
2305+ * @NVME_CTRL_CDPA_HMAC_SHA_384: If set, then the controller supports
2306+ * the HMAC-SHA-384 standard.
2307+ */
2308+ enum nvme_id_ctrl_cdpa {
2309+ NVME_CTRL_CDPA_HMAC_SHA_384 = 1 << 0 ,
2310+ };
2311+
2312+ /**
2313+ * enum nvme_id_ctrl_ipmsr - Interval Power Measurement Sample Rate
2314+ * @NVME_CTRL_IPMSR_SRS_SHIFT: Shift amount to get the Sample Rate
2315+ * Scale from the &struct nvme_id_ctrl.ipmsr field.
2316+ * @NVME_CTRL_IPMSR_SRV_SHIFT: Shift amount to get the Sample Rate
2317+ * Value from the &struct nvme_id_ctrl.ipmsr field.
2318+ * @NVME_CTRL_IPMSR_SRS_MASK: Mask to get the Sample Rate Scale
2319+ * from the &struct nvme_id_ctrl.ipmsr field.
2320+ * @NVME_CTRL_IPMSR_SRV_MASK: Mask to get the Sample Rate Value
2321+ * from the &struct nvme_id_ctrl.ipmsr field.
2322+ */
2323+ enum nvme_id_ctrl_ipmsr {
2324+ NVME_CTRL_IPMSR_SRS_SHIFT = 8 ,
2325+ NVME_CTRL_IPMSR_SRV_SHIFT = 0 ,
2326+ NVME_CTRL_IPMSR_SRS_MASK = 0x00FF ,
2327+ NVME_CTRL_IPMSR_SRV_MASK = 0x00FF ,
2328+ };
2329+
22812330/**
22822331 * enum nvme_id_ctrl_sqes - Defines the required and maximum Submission Queue
22832332 * entry size when using the NVM Command Set.
0 commit comments