diff options
author | James Smart <jsmart2021@gmail.com> | 2017-09-07 16:20:23 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-09-25 10:56:05 -0400 |
commit | d85cf207499e6740ab9c490ff4f360af5c432d23 (patch) | |
tree | ad726ce20d02b1719a157a47595b7eb8b43bdf2f | |
parent | c98cb3bd882119e7e1a7c8df2f1eacfcc701450b (diff) |
nvme: add transport SGL definitions
Add transport SGL defintions from NVMe TP 4008, required for
the final NVMe-FC standard.
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | include/linux/nvme.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 2440be32be1d..9310ce77d8e1 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h | |||
@@ -471,12 +471,14 @@ enum nvme_opcode { | |||
471 | * | 471 | * |
472 | * @NVME_SGL_FMT_ADDRESS: absolute address of the data block | 472 | * @NVME_SGL_FMT_ADDRESS: absolute address of the data block |
473 | * @NVME_SGL_FMT_OFFSET: relative offset of the in-capsule data block | 473 | * @NVME_SGL_FMT_OFFSET: relative offset of the in-capsule data block |
474 | * @NVME_SGL_FMT_TRANSPORT_A: transport defined format, value 0xA | ||
474 | * @NVME_SGL_FMT_INVALIDATE: RDMA transport specific remote invalidation | 475 | * @NVME_SGL_FMT_INVALIDATE: RDMA transport specific remote invalidation |
475 | * request subtype | 476 | * request subtype |
476 | */ | 477 | */ |
477 | enum { | 478 | enum { |
478 | NVME_SGL_FMT_ADDRESS = 0x00, | 479 | NVME_SGL_FMT_ADDRESS = 0x00, |
479 | NVME_SGL_FMT_OFFSET = 0x01, | 480 | NVME_SGL_FMT_OFFSET = 0x01, |
481 | NVME_SGL_FMT_TRANSPORT_A = 0x0A, | ||
480 | NVME_SGL_FMT_INVALIDATE = 0x0f, | 482 | NVME_SGL_FMT_INVALIDATE = 0x0f, |
481 | }; | 483 | }; |
482 | 484 | ||
@@ -490,12 +492,16 @@ enum { | |||
490 | * | 492 | * |
491 | * For struct nvme_keyed_sgl_desc: | 493 | * For struct nvme_keyed_sgl_desc: |
492 | * @NVME_KEY_SGL_FMT_DATA_DESC: keyed data block descriptor | 494 | * @NVME_KEY_SGL_FMT_DATA_DESC: keyed data block descriptor |
495 | * | ||
496 | * Transport-specific SGL types: | ||
497 | * @NVME_TRANSPORT_SGL_DATA_DESC: Transport SGL data dlock descriptor | ||
493 | */ | 498 | */ |
494 | enum { | 499 | enum { |
495 | NVME_SGL_FMT_DATA_DESC = 0x00, | 500 | NVME_SGL_FMT_DATA_DESC = 0x00, |
496 | NVME_SGL_FMT_SEG_DESC = 0x02, | 501 | NVME_SGL_FMT_SEG_DESC = 0x02, |
497 | NVME_SGL_FMT_LAST_SEG_DESC = 0x03, | 502 | NVME_SGL_FMT_LAST_SEG_DESC = 0x03, |
498 | NVME_KEY_SGL_FMT_DATA_DESC = 0x04, | 503 | NVME_KEY_SGL_FMT_DATA_DESC = 0x04, |
504 | NVME_TRANSPORT_SGL_DATA_DESC = 0x05, | ||
499 | }; | 505 | }; |
500 | 506 | ||
501 | struct nvme_sgl_desc { | 507 | struct nvme_sgl_desc { |