]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/nvme/host/fabrics.h
nvme-fabrics: allow nvmf_connect_io_queue to poll
[linux.git] / drivers / nvme / host / fabrics.h
index 6ea6275f332a61263715bd1eb878a1d383c7c989..cad70a9f976aab1254a62a4d7f41fb98265fb5bf 100644 (file)
@@ -58,6 +58,10 @@ enum {
        NVMF_OPT_CTRL_LOSS_TMO  = 1 << 11,
        NVMF_OPT_HOST_ID        = 1 << 12,
        NVMF_OPT_DUP_CONNECT    = 1 << 13,
+       NVMF_OPT_DISABLE_SQFLOW = 1 << 14,
+       NVMF_OPT_HDR_DIGEST     = 1 << 15,
+       NVMF_OPT_DATA_DIGEST    = 1 << 16,
+       NVMF_OPT_NR_WRITE_QUEUES = 1 << 17,
 };
 
 /**
@@ -85,6 +89,10 @@ enum {
  * @max_reconnects: maximum number of allowed reconnect attempts before removing
  *              the controller, (-1) means reconnect forever, zero means remove
  *              immediately;
+ * @disable_sqflow: disable controller sq flow control
+ * @hdr_digest: generate/verify header digest (TCP)
+ * @data_digest: generate/verify data digest (TCP)
+ * @nr_write_queues: number of queues for write I/O
  */
 struct nvmf_ctrl_options {
        unsigned                mask;
@@ -101,6 +109,10 @@ struct nvmf_ctrl_options {
        unsigned int            kato;
        struct nvmf_host        *host;
        int                     max_reconnects;
+       bool                    disable_sqflow;
+       bool                    hdr_digest;
+       bool                    data_digest;
+       unsigned int            nr_write_queues;
 };
 
 /*
@@ -156,7 +168,7 @@ int nvmf_reg_read32(struct nvme_ctrl *ctrl, u32 off, u32 *val);
 int nvmf_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val);
 int nvmf_reg_write32(struct nvme_ctrl *ctrl, u32 off, u32 val);
 int nvmf_connect_admin_queue(struct nvme_ctrl *ctrl);
-int nvmf_connect_io_queue(struct nvme_ctrl *ctrl, u16 qid);
+int nvmf_connect_io_queue(struct nvme_ctrl *ctrl, u16 qid, bool poll);
 int nvmf_register_transport(struct nvmf_transport_ops *ops);
 void nvmf_unregister_transport(struct nvmf_transport_ops *ops);
 void nvmf_free_options(struct nvmf_ctrl_options *opts);