Adding LBA Status Information Attributes Feature with FID = 0x15.
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
NVME_FEAT_RRL = 0x12,
NVME_FEAT_PLM_CONFIG = 0x13,
NVME_FEAT_PLM_WINDOW = 0x14,
+ NVME_LBA_STATUS_INFO = 0x15,
NVME_FEAT_HOST_BEHAVIOR = 0x16,
NVME_FEAT_SANITIZE = 0x17,
NVME_FEAT_ENDURANCE = 0x18,
case NVME_FEAT_RRL: return "Read Recovery Level";
case NVME_FEAT_PLM_CONFIG: return "Predicatable Latency Mode Config";
case NVME_FEAT_PLM_WINDOW: return "Predicatable Latency Mode Window";
+ case NVME_LBA_STATUS_INFO: return "LBA Status Infomation Attributes";
case NVME_FEAT_ENDURANCE: return "Enduarance Event Group Configuration";
case NVME_FEAT_IOCS_PROFILE: return "I/O Command Set Profile";
case NVME_FEAT_SW_PROGRESS: return "Software Progress";
}
}
+void nvme_show_lba_status_info(__u32 result) {
+ printf("\tLBA Status Information Poll Interval (LSIPI) : %u\n", (result >> 16) & 0xffff);
+ printf("\tLBA Status Information Report Interval (LSIRI): %u\n", result & 0xffff);
+}
+
static void nvme_show_plm_config(struct nvme_plm_config *plmcfg)
{
printf("\tEnable Event :%04x\n", le16_to_cpu(plmcfg->enable_event));
case NVME_FEAT_PLM_WINDOW:
printf("\tWindow Select: %s", nvme_plm_window(result));
break;
+ case NVME_LBA_STATUS_INFO:
+ nvme_show_lba_status_info(result);
+ break;
case NVME_FEAT_ENDURANCE:
printf("\tEndurance Group Identifier (ENDGID): %u\n", result & 0xffff);
printf("\tEndurance Group Critical Warnings : %u\n", (result >> 16) & 0xff);
void nvme_directive_show(__u8 type, __u8 oper, __u16 spec, __u32 nsid, __u32 result,
void *buf, __u32 len, enum nvme_print_flags flags);
void nvme_show_select_result(__u32 result);
+void nvme_show_lba_status_info(__u32 result);
void nvme_show_zns_id_ctrl(struct nvme_zns_id_ctrl *ctrl, unsigned int mode);
void nvme_show_id_ctrl_nvm(struct nvme_id_ctrl_nvm *ctrl_nvm,
printf("set-feature:%#02x (%s), value:%#08"PRIx64", cdw12:%#08"PRIx32", \
save:%#x\n", cfg.feature_id, nvme_feature_to_string(cfg.feature_id),
(uint64_t)cfg.value, cfg.cdw12, cfg.save);
+ if (cfg.feature_id == NVME_LBA_STATUS_INFO) {
+ nvme_show_lba_status_info(result);
+ }
if (buf) {
if (cfg.feature_id == NVME_FEAT_LBA_RANGE)
nvme_show_lba_range((struct nvme_lba_range_type *)buf,