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");
|
cdata->oncs.write_unc ? "Supported" : "Not Supported");
|
||||||
printf("Dataset Management Command: %s\n",
|
printf("Dataset Management Command: %s\n",
|
||||||
cdata->oncs.dsm ? "Supported" : "Not Supported");
|
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",
|
printf("Volatile Write Cache: %s\n",
|
||||||
cdata->vwc.present ? "Present" : "Not Present");
|
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");
|
printf("\n");
|
||||||
|
|
||||||
if (features[NVME_FEAT_ARBITRATION].valid) {
|
if (features[NVME_FEAT_ARBITRATION].valid) {
|
||||||
|
@ -650,7 +650,10 @@ struct __attribute__((packed)) nvme_controller_data {
|
|||||||
uint16_t compare : 1;
|
uint16_t compare : 1;
|
||||||
uint16_t write_unc : 1;
|
uint16_t write_unc : 1;
|
||||||
uint16_t dsm: 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;
|
} oncs;
|
||||||
|
|
||||||
/** fused operation support */
|
/** fused operation support */
|
||||||
|
Loading…
Reference in New Issue
Block a user