aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Smart <jsmart2021@gmail.com>2017-09-07 16:20:23 -0400
committerJens Axboe <axboe@kernel.dk>2017-09-25 10:56:05 -0400
commitd85cf207499e6740ab9c490ff4f360af5c432d23 (patch)
treead726ce20d02b1719a157a47595b7eb8b43bdf2f
parentc98cb3bd882119e7e1a7c8df2f1eacfcc701450b (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.h6
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 */
477enum { 478enum {
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 */
494enum { 499enum {
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
501struct nvme_sgl_desc { 507struct nvme_sgl_desc {