rdma.c (dcef77274ae52136925287b6b59d5c6e6a4adfb9) rdma.c (db45e1a5ddccc034eb60d62fc5352022d7963ae2)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NVMe over Fabrics RDMA host code.
4 * Copyright (c) 2015-2016 HGST, a Western Digital Company.
5 */
6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
7#include <linux/module.h>
8#include <linux/init.h>

--- 784 unchanged lines hidden (view full) ---

793 unsigned int cmd_size = sizeof(struct nvme_rdma_request) +
794 NVME_RDMA_DATA_SGL_SIZE;
795
796 if (ctrl->max_integrity_segments)
797 cmd_size += sizeof(struct nvme_rdma_sgl) +
798 NVME_RDMA_METADATA_SGL_SIZE;
799
800 return nvme_alloc_io_tag_set(ctrl, &to_rdma_ctrl(ctrl)->tag_set,
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NVMe over Fabrics RDMA host code.
4 * Copyright (c) 2015-2016 HGST, a Western Digital Company.
5 */
6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
7#include <linux/module.h>
8#include <linux/init.h>

--- 784 unchanged lines hidden (view full) ---

793 unsigned int cmd_size = sizeof(struct nvme_rdma_request) +
794 NVME_RDMA_DATA_SGL_SIZE;
795
796 if (ctrl->max_integrity_segments)
797 cmd_size += sizeof(struct nvme_rdma_sgl) +
798 NVME_RDMA_METADATA_SGL_SIZE;
799
800 return nvme_alloc_io_tag_set(ctrl, &to_rdma_ctrl(ctrl)->tag_set,
801 &nvme_rdma_mq_ops, BLK_MQ_F_SHOULD_MERGE,
801 &nvme_rdma_mq_ops,
802 ctrl->opts->nr_poll_queues ? HCTX_MAX_TYPES : 2,
803 cmd_size);
804}
805
806static void nvme_rdma_destroy_admin_queue(struct nvme_rdma_ctrl *ctrl)
807{
808 if (ctrl->async_event_sqe.data) {
809 cancel_work_sync(&ctrl->ctrl.async_event_work);

--- 33 unchanged lines hidden (view full) ---

843 error = nvme_rdma_alloc_qe(ctrl->device->dev, &ctrl->async_event_sqe,
844 sizeof(struct nvme_command), DMA_TO_DEVICE);
845 if (error)
846 goto out_free_queue;
847
848 if (new) {
849 error = nvme_alloc_admin_tag_set(&ctrl->ctrl,
850 &ctrl->admin_tag_set, &nvme_rdma_admin_mq_ops,
802 ctrl->opts->nr_poll_queues ? HCTX_MAX_TYPES : 2,
803 cmd_size);
804}
805
806static void nvme_rdma_destroy_admin_queue(struct nvme_rdma_ctrl *ctrl)
807{
808 if (ctrl->async_event_sqe.data) {
809 cancel_work_sync(&ctrl->ctrl.async_event_work);

--- 33 unchanged lines hidden (view full) ---

843 error = nvme_rdma_alloc_qe(ctrl->device->dev, &ctrl->async_event_sqe,
844 sizeof(struct nvme_command), DMA_TO_DEVICE);
845 if (error)
846 goto out_free_queue;
847
848 if (new) {
849 error = nvme_alloc_admin_tag_set(&ctrl->ctrl,
850 &ctrl->admin_tag_set, &nvme_rdma_admin_mq_ops,
851 BLK_MQ_F_NO_SCHED,
852 sizeof(struct nvme_rdma_request) +
853 NVME_RDMA_DATA_SGL_SIZE);
854 if (error)
855 goto out_free_async_qe;
856
857 }
858
859 error = nvme_rdma_start_queue(ctrl, 0);

--- 1608 unchanged lines hidden ---
851 sizeof(struct nvme_rdma_request) +
852 NVME_RDMA_DATA_SGL_SIZE);
853 if (error)
854 goto out_free_async_qe;
855
856 }
857
858 error = nvme_rdma_start_queue(ctrl, 0);

--- 1608 unchanged lines hidden ---