Lines Matching +full:cmd +full:- +full:db

1 /*-
2 * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
4 * Copyright (c) 2021 - 2022 Intel Corporation
16 * - Redistributions of source code must retain the above
20 * - Redistributions in binary form must reproduce the above
40 #include "irdma-abi.h"
51 char libirdma_version[] = "1.2.36-k";
122 * libirdma_query_device - fill libirdma_device structure
123 * @ctx_in - ibv_context identifying device
124 * @out - libirdma_device structure to fill quered info
133 if (sizeof(out->lib_ver) < sizeof(libirdma_version)) in libirdma_query_device()
136 out->query_ver = 1; in libirdma_query_device()
137 snprintf(out->lib_ver, min(sizeof(libirdma_version), sizeof(out->lib_ver)), in libirdma_query_device()
148 struct irdma_get_context cmd = {}; in irdma_init_context() local
154 iwvctx->ibv_ctx.cmd_fd = cmd_fd; in irdma_init_context()
155 cmd.userspace_ver = IRDMA_ABI_VER; in irdma_init_context()
156 if (ibv_cmd_get_context(&iwvctx->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), in irdma_init_context()
160 return -1; in irdma_init_context()
162 iwvctx->uk_attrs.feature_flags = resp.feature_flags; in irdma_init_context()
163 iwvctx->uk_attrs.hw_rev = resp.hw_rev; in irdma_init_context()
164 iwvctx->uk_attrs.max_hw_wq_frags = resp.max_hw_wq_frags; in irdma_init_context()
165 iwvctx->uk_attrs.max_hw_read_sges = resp.max_hw_read_sges; in irdma_init_context()
166 iwvctx->uk_attrs.max_hw_inline = resp.max_hw_inline; in irdma_init_context()
167 iwvctx->uk_attrs.max_hw_rq_quanta = resp.max_hw_rq_quanta; in irdma_init_context()
168 iwvctx->uk_attrs.max_hw_wq_quanta = resp.max_hw_wq_quanta; in irdma_init_context()
169 iwvctx->uk_attrs.max_hw_sq_chunk = resp.max_hw_sq_chunk; in irdma_init_context()
170 iwvctx->uk_attrs.max_hw_cq_size = resp.max_hw_cq_size; in irdma_init_context()
171 iwvctx->uk_attrs.min_hw_cq_size = resp.min_hw_cq_size; in irdma_init_context()
172 iwvctx->uk_attrs.min_hw_wq_size = IRDMA_QP_SW_MIN_WQSIZE; in irdma_init_context()
173 iwvctx->abi_ver = IRDMA_ABI_VER; in irdma_init_context()
176 iwvctx->db = mmap(NULL, IRDMA_HW_PAGE_SIZE, PROT_WRITE | PROT_READ, in irdma_init_context()
178 if (iwvctx->db == MAP_FAILED) in irdma_init_context()
181 iwvctx->ibv_ctx.ops = irdma_ctx_ops; in irdma_init_context()
183 ibv_pd = irdma_ualloc_pd(&iwvctx->ibv_ctx); in irdma_init_context()
185 munmap(iwvctx->db, IRDMA_HW_PAGE_SIZE); in irdma_init_context()
189 ibv_pd->context = &iwvctx->ibv_ctx; in irdma_init_context()
190 iwvctx->iwupd = container_of(ibv_pd, struct irdma_upd, ibv_pd); in irdma_init_context()
197 return -1; in irdma_init_context()
207 irdma_ufree_pd(&iwvctx->iwupd->ibv_pd); in irdma_cleanup_context()
208 munmap(iwvctx->db, IRDMA_HW_PAGE_SIZE); in irdma_cleanup_context()
263 dev->ibv_dev.ops = &irdma_dev_ops; in irdma_driver_init()
264 dev->ibv_dev.sz = sizeof(*dev); in irdma_driver_init()
265 dev->ibv_dev.size_of_context = sizeof(struct irdma_uvcontext) - in irdma_driver_init()
268 return &dev->ibv_dev; in irdma_driver_init()