@@ -1092,6 +1092,16 @@ enum nvme_power_measurement_type {
10921092 NVME_PMT_VS_MAX = 0xf ,
10931093};
10941094
1095+ /**
1096+ * enum nvme_power_measurement_action - Power measurement actions.
1097+ * @NVME_PMA_STOP: Stop power measurement
1098+ * @NVME_PMA_START: Start power measurement
1099+ */
1100+ enum nvme_power_measurement_action {
1101+ NVME_PMA_STOP = 0x0 ,
1102+ NVME_PMA_START = 0x1 ,
1103+ };
1104+
10951105/**
10961106 * nvme_psd_power_scale() - power scale occupies the upper 3 bits
10971107 * @ps: power scale value
@@ -8835,7 +8845,7 @@ enum nvme_cmd_get_log_lid {
88358845 * @NVME_FEAT_FID_CONF_DEV_PERSONALITY: Configurable Device Personality
88368846 * @NVME_FEAT_FID_POWER_LIMIT: Power Limit
88378847 * @NVME_FEAT_FID_POWER_THRESH: Power Threshold
8838- * @NVME_FEAT_FID_POEWR_MEASUREMENT : Power Measurement
8848+ * @NVME_FEAT_FID_POWER_MEASUREMENT : Power Measurement
88398849 * @NVME_FEAT_FID_EMB_MGMT_CTRL_ADDR: Embedded Management Controller Address
88408850 * @NVME_FEAT_FID_HOST_MGMT_AGENT_ADDR: Host Management Agent Address
88418851 * @NVME_FEAT_FID_ENH_CTRL_METADATA: Enhanced Controller Metadata
@@ -8885,7 +8895,7 @@ enum nvme_features_id {
88858895 NVME_FEAT_FID_CONF_DEV_PERSONALITY = 0x22 ,
88868896 NVME_FEAT_FID_POWER_LIMIT = 0x23 ,
88878897 NVME_FEAT_FID_POWER_THRESH = 0x24 ,
8888- NVME_FEAT_FID_POEWR_MEASUREMENT = 0x25 ,
8898+ NVME_FEAT_FID_POWER_MEASUREMENT = 0x25 ,
88898899 NVME_FEAT_FID_EMB_MGMT_CTRL_ADDR = 0x78 ,
88908900 NVME_FEAT_FID_HOST_MGMT_AGENT_ADDR = 0x79 ,
88918901 NVME_FEAT_FID_ENH_CTRL_METADATA = 0x7d ,
@@ -9041,6 +9051,8 @@ enum nvme_features_id {
90419051 * @NVME_FEAT_FDP_INDEX_MASK:
90429052 * @NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT:
90439053 * @NVME_FEAT_FDP_EVENTS_ENABLE_MASK:
9054+ * @NVME_FEAT_HOST_ID_EXHID_SHIFT:
9055+ * @NVME_FEAT_HOST_ID_EXHID_MASK:
90449056 * @NVME_FEAT_BPWPC_BP0WPS_SHIFT:
90459057 * @NVME_FEAT_BPWPC_BP0WPS_MASK:
90469058 * @NVME_FEAT_BPWPC_BP1WPS_SHIFT:
@@ -9065,6 +9077,12 @@ enum nvme_features_id {
90659077 * @NVME_FEAT_POWER_THRESH_PMTS_MASK:
90669078 * @NVME_FEAT_POWER_THRESH_EPT_SHIFT:
90679079 * @NVME_FEAT_POWER_THRESH_EPT_MASK:
9080+ * @NVME_FEAT_POWER_MEAS_ACT_SHIFT:
9081+ * @NVME_FEAT_POWER_MEAS_ACT_MASK:
9082+ * @NVME_FEAT_POWER_MEAS_PMTS_SHIFT:
9083+ * @NVME_FEAT_POWER_MEAS_PMTS_MASK:
9084+ * @NVME_FEAT_POWER_MEAS_SMT_SHIFT:
9085+ * @NVME_FEAT_POWER_MEAS_SMT_MASK:
90689086 **/
90699087enum nvme_feat {
90709088 NVME_FEAT_ARBITRATION_BURST_SHIFT = 0 ,
@@ -9211,6 +9229,8 @@ enum nvme_feat {
92119229 NVME_FEAT_FDP_INDEX_MASK = 0xf ,
92129230 NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT = 0 ,
92139231 NVME_FEAT_FDP_EVENTS_ENABLE_MASK = 0x1 ,
9232+ NVME_FEAT_HOST_ID_EXHID_SHIFT = 0 ,
9233+ NVME_FEAT_HOST_ID_EXHID_MASK = 0x1 ,
92149234 NVME_FEAT_BPWPC_BP0WPS_SHIFT = 0 ,
92159235 NVME_FEAT_BPWPC_BP0WPS_MASK = 0x7 ,
92169236 NVME_FEAT_BPWPC_BP1WPS_SHIFT = 3 ,
@@ -9231,6 +9251,12 @@ enum nvme_feat {
92319251 NVME_FEAT_POWER_THRESH_PMTS_MASK = 0xf ,
92329252 NVME_FEAT_POWER_THRESH_EPT_SHIFT = 31 ,
92339253 NVME_FEAT_POWER_THRESH_EPT_MASK = 0x1 ,
9254+ NVME_FEAT_POWER_MEAS_ACT_SHIFT = 0 ,
9255+ NVME_FEAT_POWER_MEAS_ACT_MASK = 0xf ,
9256+ NVME_FEAT_POWER_MEAS_PMTS_SHIFT = 4 ,
9257+ NVME_FEAT_POWER_MEAS_PMTS_MASK = 0xf ,
9258+ NVME_FEAT_POWER_MEAS_SMT_SHIFT = 16 ,
9259+ NVME_FEAT_POWER_MEAS_SMT_MASK = 0xffff ,
92349260};
92359261
92369262/**
@@ -10514,6 +10540,10 @@ static inline void nvme_feature_decode_arbitration(__u32 value, __u8 *ab,
1051410540#define NVME_FEAT_POWER_THRESH_PMTS (v ) NVME_GET(v, FEAT_POWER_THRESH_PMTS)
1051510541#define NVME_FEAT_POWER_THRESH_EPT (v ) NVME_GET(v, FEAT_POWER_THRESH_EPT)
1051610542
10543+ #define NVME_FEAT_POWER_MEAS_ACT (v ) NVME_GET(v, FEAT_POWER_MEAS_ACT)
10544+ #define NVME_FEAT_POWER_MEAS_PMTS (v ) NVME_GET(v, FEAT_POWER_MEAS_PMTS)
10545+ #define NVME_FEAT_POWER_MEAS_SMT (v ) NVME_GET(v, FEAT_POWER_MEAS_SMT)
10546+
1051710547static inline void
1051810548nvme_feature_decode_power_mgmt (__u32 value , __u8 * ps , __u8 * wh )
1051910549{
@@ -10732,6 +10762,14 @@ nvme_feature_decode_perf_characteristics(__u32 value, __u8 *attri, bool *rvspa)
1073210762 * rvspa = NVME_FEAT_PERFC_RVSPA (value );
1073310763}
1073410764
10765+ #define NVME_FEAT_HOST_ID_EXHID (v ) NVME_GET(v, FEAT_HOST_ID_EXHID)
10766+
10767+ static inline void
10768+ nvme_feature_decode_host_id (__u32 value , bool * exhid )
10769+ {
10770+ * exhid = NVME_FEAT_HOST_ID_EXHID (value );
10771+ }
10772+
1073510773#define NVME_FEAT_SPM_PBSLC (v ) NVME_GET(v, FEAT_SPM_PBSLC)
1073610774
1073710775static inline void
0 commit comments