nvme/identify: identify more NVMe 1.2 features
Add support for the full set of Optional NVM Command Support bits from NVMe 1.2, and interpret the various SGL-related feature bits. Change-Id: Ie3fcca27571b5236479e05a1ea3b834adbeb18a8 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
c8f27b9e6e
commit
c0ebf12e3e
@ -309,8 +309,23 @@ print_controller(struct nvme_controller *ctrlr, struct pci_device *pci_dev)
|
||||
cdata->oncs.write_unc ? "Supported" : "Not Supported");
|
||||
printf("Dataset Management Command: %s\n",
|
||||
cdata->oncs.dsm ? "Supported" : "Not Supported");
|
||||
printf("Write Zeroes Command: %s\n",
|
||||
cdata->oncs.write_zeroes ? "Supported" : "Not Supported");
|
||||
printf("Set Features Save Field: %s\n",
|
||||
cdata->oncs.set_features_save ? "Supported" : "Not Supported");
|
||||
printf("Reservations: %s\n",
|
||||
cdata->oncs.reservations ? "Supported" : "Not Supported");
|
||||
printf("Volatile Write Cache: %s\n",
|
||||
cdata->vwc.present ? "Present" : "Not Present");
|
||||
printf("Scatter-Gather List\n");
|
||||
printf(" SGL Command Set: %s\n",
|
||||
cdata->sgls.supported ? "Supported" : "Not Supported");
|
||||
printf(" SGL Bit Bucket Descriptor: %s\n",
|
||||
cdata->sgls.bit_bucket_descriptor_supported ? "Supported" : "Not Supported");
|
||||
printf(" SGL Metadata Pointer: %s\n",
|
||||
cdata->sgls.metadata_pointer_supported ? "Supported" : "Not Supported");
|
||||
printf(" Oversized SGL: %s\n",
|
||||
cdata->sgls.oversized_sgl_supported ? "Supported" : "Not Supported");
|
||||
printf("\n");
|
||||
|
||||
if (features[NVME_FEAT_ARBITRATION].valid) {
|
||||
|
@ -650,7 +650,10 @@ struct __attribute__((packed)) nvme_controller_data {
|
||||
uint16_t compare : 1;
|
||||
uint16_t write_unc : 1;
|
||||
uint16_t dsm: 1;
|
||||
uint16_t reserved: 13;
|
||||
uint16_t write_zeroes: 1;
|
||||
uint16_t set_features_save: 1;
|
||||
uint16_t reservations: 1;
|
||||
uint16_t reserved: 10;
|
||||
} oncs;
|
||||
|
||||
/** fused operation support */
|
||||
|
Loading…
Reference in New Issue
Block a user