diff options
| -rw-r--r-- | drivers/nvme/target/admin-cmd.c | 2 | ||||
| -rw-r--r-- | drivers/nvme/target/discovery.c | 2 | ||||
| -rw-r--r-- | include/linux/nvme.h | 33 |
3 files changed, 29 insertions, 8 deletions
diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c index 7ab9c9381b98..6944f246e562 100644 --- a/drivers/nvme/target/admin-cmd.c +++ b/drivers/nvme/target/admin-cmd.c | |||
| @@ -199,7 +199,7 @@ static void nvmet_execute_identify_ctrl(struct nvmet_req *req) | |||
| 199 | */ | 199 | */ |
| 200 | 200 | ||
| 201 | /* we support multiple ports and multiples hosts: */ | 201 | /* we support multiple ports and multiples hosts: */ |
| 202 | id->mic = (1 << 0) | (1 << 1); | 202 | id->cmic = (1 << 0) | (1 << 1); |
| 203 | 203 | ||
| 204 | /* no limit on data transfer sizes for now */ | 204 | /* no limit on data transfer sizes for now */ |
| 205 | id->mdts = 0; | 205 | id->mdts = 0; |
diff --git a/drivers/nvme/target/discovery.c b/drivers/nvme/target/discovery.c index 6f65646e89cf..a6c25fbcff3f 100644 --- a/drivers/nvme/target/discovery.c +++ b/drivers/nvme/target/discovery.c | |||
| @@ -54,7 +54,7 @@ static void nvmet_format_discovery_entry(struct nvmf_disc_rsp_page_hdr *hdr, | |||
| 54 | /* we support only dynamic controllers */ | 54 | /* we support only dynamic controllers */ |
| 55 | e->cntlid = cpu_to_le16(NVME_CNTLID_DYNAMIC); | 55 | e->cntlid = cpu_to_le16(NVME_CNTLID_DYNAMIC); |
| 56 | e->asqsz = cpu_to_le16(NVMF_AQ_DEPTH); | 56 | e->asqsz = cpu_to_le16(NVMF_AQ_DEPTH); |
| 57 | e->nqntype = type; | 57 | e->subtype = type; |
| 58 | memcpy(e->trsvcid, port->disc_addr.trsvcid, NVMF_TRSVCID_SIZE); | 58 | memcpy(e->trsvcid, port->disc_addr.trsvcid, NVMF_TRSVCID_SIZE); |
| 59 | memcpy(e->traddr, port->disc_addr.traddr, NVMF_TRADDR_SIZE); | 59 | memcpy(e->traddr, port->disc_addr.traddr, NVMF_TRADDR_SIZE); |
| 60 | memcpy(e->tsas.common, port->disc_addr.tsas.common, NVMF_TSAS_SIZE); | 60 | memcpy(e->tsas.common, port->disc_addr.tsas.common, NVMF_TSAS_SIZE); |
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 086d196e68f7..989699641e10 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h | |||
| @@ -182,7 +182,7 @@ struct nvme_id_ctrl { | |||
| 182 | char fr[8]; | 182 | char fr[8]; |
| 183 | __u8 rab; | 183 | __u8 rab; |
| 184 | __u8 ieee[3]; | 184 | __u8 ieee[3]; |
| 185 | __u8 mic; | 185 | __u8 cmic; |
| 186 | __u8 mdts; | 186 | __u8 mdts; |
| 187 | __le16 cntlid; | 187 | __le16 cntlid; |
| 188 | __le32 ver; | 188 | __le32 ver; |
| @@ -202,7 +202,13 @@ struct nvme_id_ctrl { | |||
| 202 | __u8 apsta; | 202 | __u8 apsta; |
| 203 | __le16 wctemp; | 203 | __le16 wctemp; |
| 204 | __le16 cctemp; | 204 | __le16 cctemp; |
| 205 | __u8 rsvd270[50]; | 205 | __le16 mtfa; |
| 206 | __le32 hmpre; | ||
| 207 | __le32 hmmin; | ||
| 208 | __u8 tnvmcap[16]; | ||
| 209 | __u8 unvmcap[16]; | ||
| 210 | __le32 rpmbs; | ||
| 211 | __u8 rsvd316[4]; | ||
| 206 | __le16 kas; | 212 | __le16 kas; |
| 207 | __u8 rsvd322[190]; | 213 | __u8 rsvd322[190]; |
| 208 | __u8 sqes; | 214 | __u8 sqes; |
| @@ -267,7 +273,7 @@ struct nvme_id_ns { | |||
| 267 | __le16 nabo; | 273 | __le16 nabo; |
| 268 | __le16 nabspf; | 274 | __le16 nabspf; |
| 269 | __u16 rsvd46; | 275 | __u16 rsvd46; |
| 270 | __le64 nvmcap[2]; | 276 | __u8 nvmcap[16]; |
| 271 | __u8 rsvd64[40]; | 277 | __u8 rsvd64[40]; |
| 272 | __u8 nguid[16]; | 278 | __u8 nguid[16]; |
| 273 | __u8 eui64[8]; | 279 | __u8 eui64[8]; |
| @@ -556,8 +562,10 @@ enum nvme_admin_opcode { | |||
| 556 | nvme_admin_set_features = 0x09, | 562 | nvme_admin_set_features = 0x09, |
| 557 | nvme_admin_get_features = 0x0a, | 563 | nvme_admin_get_features = 0x0a, |
| 558 | nvme_admin_async_event = 0x0c, | 564 | nvme_admin_async_event = 0x0c, |
| 565 | nvme_admin_ns_mgmt = 0x0d, | ||
| 559 | nvme_admin_activate_fw = 0x10, | 566 | nvme_admin_activate_fw = 0x10, |
| 560 | nvme_admin_download_fw = 0x11, | 567 | nvme_admin_download_fw = 0x11, |
| 568 | nvme_admin_ns_attach = 0x15, | ||
| 561 | nvme_admin_keep_alive = 0x18, | 569 | nvme_admin_keep_alive = 0x18, |
| 562 | nvme_admin_format_nvm = 0x80, | 570 | nvme_admin_format_nvm = 0x80, |
| 563 | nvme_admin_security_send = 0x81, | 571 | nvme_admin_security_send = 0x81, |
| @@ -583,6 +591,7 @@ enum { | |||
| 583 | NVME_FEAT_WRITE_ATOMIC = 0x0a, | 591 | NVME_FEAT_WRITE_ATOMIC = 0x0a, |
| 584 | NVME_FEAT_ASYNC_EVENT = 0x0b, | 592 | NVME_FEAT_ASYNC_EVENT = 0x0b, |
| 585 | NVME_FEAT_AUTO_PST = 0x0c, | 593 | NVME_FEAT_AUTO_PST = 0x0c, |
| 594 | NVME_FEAT_HOST_MEM_BUF = 0x0d, | ||
| 586 | NVME_FEAT_KATO = 0x0f, | 595 | NVME_FEAT_KATO = 0x0f, |
| 587 | NVME_FEAT_SW_PROGRESS = 0x80, | 596 | NVME_FEAT_SW_PROGRESS = 0x80, |
| 588 | NVME_FEAT_HOST_ID = 0x81, | 597 | NVME_FEAT_HOST_ID = 0x81, |
| @@ -745,7 +754,7 @@ struct nvmf_common_command { | |||
| 745 | struct nvmf_disc_rsp_page_entry { | 754 | struct nvmf_disc_rsp_page_entry { |
| 746 | __u8 trtype; | 755 | __u8 trtype; |
| 747 | __u8 adrfam; | 756 | __u8 adrfam; |
| 748 | __u8 nqntype; | 757 | __u8 subtype; |
| 749 | __u8 treq; | 758 | __u8 treq; |
| 750 | __le16 portid; | 759 | __le16 portid; |
| 751 | __le16 cntlid; | 760 | __le16 cntlid; |
| @@ -905,12 +914,23 @@ enum { | |||
| 905 | NVME_SC_INVALID_VECTOR = 0x108, | 914 | NVME_SC_INVALID_VECTOR = 0x108, |
| 906 | NVME_SC_INVALID_LOG_PAGE = 0x109, | 915 | NVME_SC_INVALID_LOG_PAGE = 0x109, |
| 907 | NVME_SC_INVALID_FORMAT = 0x10a, | 916 | NVME_SC_INVALID_FORMAT = 0x10a, |
| 908 | NVME_SC_FIRMWARE_NEEDS_RESET = 0x10b, | 917 | NVME_SC_FW_NEEDS_CONV_RESET = 0x10b, |
| 909 | NVME_SC_INVALID_QUEUE = 0x10c, | 918 | NVME_SC_INVALID_QUEUE = 0x10c, |
| 910 | NVME_SC_FEATURE_NOT_SAVEABLE = 0x10d, | 919 | NVME_SC_FEATURE_NOT_SAVEABLE = 0x10d, |
| 911 | NVME_SC_FEATURE_NOT_CHANGEABLE = 0x10e, | 920 | NVME_SC_FEATURE_NOT_CHANGEABLE = 0x10e, |
| 912 | NVME_SC_FEATURE_NOT_PER_NS = 0x10f, | 921 | NVME_SC_FEATURE_NOT_PER_NS = 0x10f, |
| 913 | NVME_SC_FW_NEEDS_RESET_SUBSYS = 0x110, | 922 | NVME_SC_FW_NEEDS_SUBSYS_RESET = 0x110, |
| 923 | NVME_SC_FW_NEEDS_RESET = 0x111, | ||
| 924 | NVME_SC_FW_NEEDS_MAX_TIME = 0x112, | ||
| 925 | NVME_SC_FW_ACIVATE_PROHIBITED = 0x113, | ||
| 926 | NVME_SC_OVERLAPPING_RANGE = 0x114, | ||
| 927 | NVME_SC_NS_INSUFFICENT_CAP = 0x115, | ||
| 928 | NVME_SC_NS_ID_UNAVAILABLE = 0x116, | ||
| 929 | NVME_SC_NS_ALREADY_ATTACHED = 0x118, | ||
| 930 | NVME_SC_NS_IS_PRIVATE = 0x119, | ||
| 931 | NVME_SC_NS_NOT_ATTACHED = 0x11a, | ||
| 932 | NVME_SC_THIN_PROV_NOT_SUPP = 0x11b, | ||
| 933 | NVME_SC_CTRL_LIST_INVALID = 0x11c, | ||
| 914 | 934 | ||
| 915 | /* | 935 | /* |
| 916 | * I/O Command Set Specific - NVM commands: | 936 | * I/O Command Set Specific - NVM commands: |
| @@ -941,6 +961,7 @@ enum { | |||
| 941 | NVME_SC_REFTAG_CHECK = 0x284, | 961 | NVME_SC_REFTAG_CHECK = 0x284, |
| 942 | NVME_SC_COMPARE_FAILED = 0x285, | 962 | NVME_SC_COMPARE_FAILED = 0x285, |
| 943 | NVME_SC_ACCESS_DENIED = 0x286, | 963 | NVME_SC_ACCESS_DENIED = 0x286, |
| 964 | NVME_SC_UNWRITTEN_BLOCK = 0x287, | ||
| 944 | 965 | ||
| 945 | NVME_SC_DNR = 0x4000, | 966 | NVME_SC_DNR = 0x4000, |
| 946 | }; | 967 | }; |
