Lines Matching +refs:port +refs:id +refs:attrs

170 		rdma_disconnect(info->id);  in smbd_disconnect_rdma_work()
181 struct rdma_cm_id *id, struct rdma_cm_event *event) in smbd_conn_upcall() argument
183 struct smbd_connection *info = id->context; in smbd_conn_upcall()
288 ib_dma_unmap_single(request->info->id->device, in send_done()
550 struct sockaddr *dstaddr, int port) in smbd_create_id() argument
552 struct rdma_cm_id *id; in smbd_create_id() local
556 id = rdma_create_id(&init_net, smbd_conn_upcall, info, in smbd_create_id()
558 if (IS_ERR(id)) { in smbd_create_id()
559 rc = PTR_ERR(id); in smbd_create_id()
561 return id; in smbd_create_id()
569 *sport = htons(port); in smbd_create_id()
574 rc = rdma_resolve_addr(id, NULL, (struct sockaddr *)dstaddr, in smbd_create_id()
594 rc = rdma_resolve_route(id, RDMA_RESOLVE_TIMEOUT); in smbd_create_id()
612 return id; in smbd_create_id()
615 rdma_destroy_id(id); in smbd_create_id()
624 static bool frwr_is_supported(struct ib_device_attr *attrs) in frwr_is_supported() argument
626 if (!(attrs->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS)) in frwr_is_supported()
628 if (attrs->max_fast_reg_page_list_len == 0) in frwr_is_supported()
635 struct sockaddr *dstaddr, int port) in smbd_ia_open() argument
639 info->id = smbd_create_id(info, dstaddr, port); in smbd_ia_open()
640 if (IS_ERR(info->id)) { in smbd_ia_open()
641 rc = PTR_ERR(info->id); in smbd_ia_open()
645 if (!frwr_is_supported(&info->id->device->attrs)) { in smbd_ia_open()
648 info->id->device->attrs.device_cap_flags, in smbd_ia_open()
649 info->id->device->attrs.max_fast_reg_page_list_len); in smbd_ia_open()
655 info->id->device->attrs.max_fast_reg_page_list_len); in smbd_ia_open()
657 if (info->id->device->attrs.kernel_cap_flags & IBK_SG_GAPS_REG) in smbd_ia_open()
660 info->pd = ib_alloc_pd(info->id->device, 0); in smbd_ia_open()
670 rdma_destroy_id(info->id); in smbd_ia_open()
671 info->id = NULL; in smbd_ia_open()
708 info->id->device, (void *)packet, in smbd_post_send_negotiate_req()
710 if (ib_dma_mapping_error(info->id->device, request->sge[0].addr)) { in smbd_post_send_negotiate_req()
719 info->id->device, request->sge[0].addr, in smbd_post_send_negotiate_req()
736 rc = ib_post_send(info->id->qp, &send_wr, NULL); in smbd_post_send_negotiate_req()
743 ib_dma_unmap_single(info->id->device, request->sge[0].addr, in smbd_post_send_negotiate_req()
803 info->id->device, in smbd_post_send()
818 rc = ib_post_send(info->id->qp, &send_wr, NULL); in smbd_post_send()
892 .device = info->id->device, in smbd_post_send_iter()
945 request->sge[0].addr = ib_dma_map_single(info->id->device, in smbd_post_send_iter()
949 if (ib_dma_mapping_error(info->id->device, request->sge[0].addr)) { in smbd_post_send_iter()
965 ib_dma_unmap_single(info->id->device, in smbd_post_send_iter()
1014 info->id->device, response->packet, in smbd_post_recv()
1016 if (ib_dma_mapping_error(info->id->device, response->sge.addr)) in smbd_post_recv()
1029 rc = ib_post_recv(info->id->qp, &recv_wr, NULL); in smbd_post_recv()
1031 ib_dma_unmap_single(info->id->device, response->sge.addr, in smbd_post_recv()
1191 ib_dma_unmap_single(info->id->device, response->sge.addr, in put_receive_buffer()
1301 rdma_disconnect(server->smbd_conn->id); in smbd_destroy()
1309 ib_drain_qp(info->id->qp); in smbd_destroy()
1310 rdma_destroy_qp(info->id); in smbd_destroy()
1360 rdma_destroy_id(info->id); in smbd_destroy()
1489 struct TCP_Server_Info *server, struct sockaddr *dstaddr, int port) in _smbd_get_connection() argument
1504 rc = smbd_ia_open(info, dstaddr, port); in _smbd_get_connection()
1510 if (smbd_send_credit_target > info->id->device->attrs.max_cqe || in _smbd_get_connection()
1511 smbd_send_credit_target > info->id->device->attrs.max_qp_wr) { in _smbd_get_connection()
1514 info->id->device->attrs.max_cqe, in _smbd_get_connection()
1515 info->id->device->attrs.max_qp_wr); in _smbd_get_connection()
1519 if (smbd_receive_credit_max > info->id->device->attrs.max_cqe || in _smbd_get_connection()
1520 smbd_receive_credit_max > info->id->device->attrs.max_qp_wr) { in _smbd_get_connection()
1523 info->id->device->attrs.max_cqe, in _smbd_get_connection()
1524 info->id->device->attrs.max_qp_wr); in _smbd_get_connection()
1535 if (info->id->device->attrs.max_send_sge < SMBDIRECT_MAX_SEND_SGE || in _smbd_get_connection()
1536 info->id->device->attrs.max_recv_sge < SMBDIRECT_MAX_RECV_SGE) { in _smbd_get_connection()
1540 info->id->device->name, in _smbd_get_connection()
1541 info->id->device->attrs.max_send_sge, in _smbd_get_connection()
1542 info->id->device->attrs.max_recv_sge); in _smbd_get_connection()
1549 ib_alloc_cq_any(info->id->device, info, in _smbd_get_connection()
1557 ib_alloc_cq_any(info->id->device, info, in _smbd_get_connection()
1578 rc = rdma_create_qp(info->id, info->pd, &qp_attr); in _smbd_get_connection()
1588 info->id->device->attrs.max_qp_rd_atom in _smbd_get_connection()
1590 info->id->device->attrs.max_qp_rd_atom : in _smbd_get_connection()
1597 info->id->device->ops.get_port_immutable( in _smbd_get_connection()
1598 info->id->device, info->id->port_num, &port_immutable); in _smbd_get_connection()
1614 &addr_in->sin_addr, port); in _smbd_get_connection()
1619 rc = rdma_connect(info->id, &conn_param); in _smbd_get_connection()
1629 log_rdma_event(ERR, "rdma_connect failed port=%d\n", port); in _smbd_get_connection()
1681 rdma_disconnect(info->id); in _smbd_get_connection()
1687 rdma_destroy_qp(info->id); in _smbd_get_connection()
1698 rdma_destroy_id(info->id); in _smbd_get_connection()
1709 int port = SMBD_PORT; in smbd_get_connection() local
1712 ret = _smbd_get_connection(server, dstaddr, port); in smbd_get_connection()
1715 if (!ret && port == SMBD_PORT) { in smbd_get_connection()
1716 port = SMB_PORT; in smbd_get_connection()
2108 ib_dma_unmap_sg(info->id->device, mr->sgt.sgl, in destroy_mr_list()
2280 rc = ib_dma_map_sg(info->id->device, smbdirect_mr->sgt.sgl, in smbd_register_mr()
2316 rc = ib_post_send(info->id->qp, &reg_wr->wr, NULL); in smbd_register_mr()
2325 ib_dma_unmap_sg(info->id->device, smbdirect_mr->sgt.sgl, in smbd_register_mr()
2376 rc = ib_post_send(info->id->qp, wr, NULL); in smbd_deregister_mr()
2393 info->id->device, smbdirect_mr->sgt.sgl, in smbd_deregister_mr()