Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions src/nvme/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -8914,6 +8914,10 @@ enum nvme_features_id {
* @NVME_FEAT_FDP_INDEX_MASK:
* @NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT:
* @NVME_FEAT_FDP_EVENTS_ENABLE_MASK:
* @NVME_FEAT_BPWPC_BP0WPS_SHIFT:
* @NVME_FEAT_BPWPC_BP0WPS_MASK:
* @NVME_FEAT_BPWPC_BP1WPS_SHIFT:
* @NVME_FEAT_BPWPC_BP1WPS_MASK:
*/
enum nvme_feat {
NVME_FEAT_ARBITRATION_BURST_SHIFT = 0,
Expand Down Expand Up @@ -9054,6 +9058,10 @@ enum nvme_feat {
NVME_FEAT_FDP_INDEX_MASK = 0xf,
NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT = 0,
NVME_FEAT_FDP_EVENTS_ENABLE_MASK = 0x1,
NVME_FEAT_BPWPC_BP0WPS_SHIFT = 0,
NVME_FEAT_BPWPC_BP0WPS_MASK = 0x7,
NVME_FEAT_BPWPC_BP1WPS_SHIFT = 3,
NVME_FEAT_BPWPC_BP1WPS_MASK = 0x7,
};

/**
Expand Down Expand Up @@ -9495,6 +9503,22 @@ enum nvme_feat_perfc_r4karl {
NVME_FEAT_PERFC_R4KARL_GE_1_NS = 0x17,
};

/**
* enum nvme_feat_bpwp_state - Boot Partition Write Protection State
* @NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED: Change in state not requested
* @NVME_FEAT_BPWPS_WRITE_UNLOCKED: Write Unlocked
* @NVME_FEAT_BPWPS_WRITE_LOCKED: Write Locked
* @NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE: Write Locked Until Power Cycle
* @NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB: Write Protection controlled by RPMB
*/
enum nvme_feat_bpwp_state {
NVME_FEAT_BPWPS_CHANGE_NOT_REQUESTED = 0,
NVME_FEAT_BPWPS_WRITE_UNLOCKED = 1,
NVME_FEAT_BPWPS_WRITE_LOCKED = 2,
NVME_FEAT_BPWPS_WRITE_LOCKED_PWR_CYCLE = 3,
NVME_FEAT_BPWPS_WRITE_PROTECTION_RPMB = 4,
};

/**
* enum nvme_fctype - Fabrics Command Types
* @nvme_fabrics_type_property_set: Property set
Expand Down
3 changes: 3 additions & 0 deletions src/nvme/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,9 @@ static inline void nvme_feature_decode_namespace_write_protect(__u32 value,
*wps = NVME_FEAT_WP_WPS(value);
}

#define NVME_FEAT_BPWPC_BP0WPS(v) NVME_GET(v, FEAT_BPWPC_BP0WPS)
#define NVME_FEAT_BPWPC_BP1WPS(v) NVME_GET(v, FEAT_BPWPC_BP1WPS)

static inline void nvme_id_ns_flbas_to_lbaf_inuse(__u8 flbas, __u8 *lbaf_inuse)
{
*lbaf_inuse = ((NVME_FLBAS_HIGHER(flbas) << 4) |
Expand Down