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 --- |