Lines Matching refs:cm_id
85 struct rdma_cm_id *cm_id; member
104 struct rdma_cm_id *cm_id; member
271 ib_dma_unmap_single(t->cm_id->device, recvmsg->sge.addr, in put_recvmsg()
297 ib_dma_unmap_single(t->cm_id->device, recvmsg->sge.addr, in put_empty_recvmsg()
340 rdma_disconnect(t->cm_id); in smb_direct_disconnect_rdma_work()
362 static struct smb_direct_transport *alloc_transport(struct rdma_cm_id *cm_id) in alloc_transport() argument
371 t->cm_id = cm_id; in alloc_transport()
372 cm_id->context = t; in alloc_transport()
437 rdma_destroy_qp(t->cm_id); in free_transport()
460 if (t->cm_id) in free_transport()
461 rdma_destroy_id(t->cm_id); in free_transport()
487 ib_dma_unmap_single(t->cm_id->device, in smb_direct_free_sendmsg()
491 ib_dma_unmap_page(t->cm_id->device, in smb_direct_free_sendmsg()
652 recvmsg->sge.addr = ib_dma_map_single(t->cm_id->device, in smb_direct_post_recv()
655 ret = ib_dma_mapping_error(t->cm_id->device, recvmsg->sge.addr); in smb_direct_post_recv()
670 ib_dma_unmap_single(t->cm_id->device, in smb_direct_post_recv()
1068 sendmsg->sge[0].addr = ib_dma_map_single(t->cm_id->device, in smb_direct_create_header()
1072 ret = ib_dma_mapping_error(t->cm_id->device, sendmsg->sge[0].addr); in smb_direct_create_header()
1137 ib_dma_sync_single_for_device(t->cm_id->device, in post_sendmsg()
1198 sg_cnt = get_mapped_sg_list(t->cm_id->device, in smb_direct_post_send_data()
1209 ib_dma_unmap_sg(t->cm_id->device, sg, sg_cnt, in smb_direct_post_send_data()
1513 ksmbd_debug(RDMA, "Disconnecting cm_id=%p\n", st->cm_id); in smb_direct_disconnect()
1525 ksmbd_debug(RDMA, "smb-direct shutdown cm_id=%p\n", st->cm_id); in smb_direct_shutdown()
1530 static int smb_direct_cm_handler(struct rdma_cm_id *cm_id, in smb_direct_cm_handler() argument
1533 struct smb_direct_transport *t = cm_id->context; in smb_direct_cm_handler()
1536 cm_id, rdma_event_msg(event->event), event->event); in smb_direct_cm_handler()
1561 cm_id, rdma_event_msg(event->event), in smb_direct_cm_handler()
1573 t->cm_id, ib_event_msg(event->event), event->event); in smb_direct_qpair_handler()
1618 sendmsg->sge[0].addr = ib_dma_map_single(t->cm_id->device, in smb_direct_send_negotiate_response()
1621 ret = ib_dma_mapping_error(t->cm_id->device, sendmsg->sge[0].addr); in smb_direct_send_negotiate_response()
1650 conn_param.initiator_depth = min_t(u8, t->cm_id->device->attrs.max_qp_rd_atom, in smb_direct_accept_client()
1654 t->cm_id->device->ops.get_port_immutable(t->cm_id->device, in smb_direct_accept_client()
1655 t->cm_id->port_num, in smb_direct_accept_client()
1670 ret = rdma_accept(t->cm_id, &conn_param); in smb_direct_accept_client()
1711 t->cm_id->device->attrs.max_fast_reg_page_list_len, in smb_direct_get_max_fr_pages()
1718 struct ib_device *device = t->cm_id->device; in smb_direct_init_params()
1883 t->pd = ib_alloc_pd(t->cm_id->device, 0); in smb_direct_create_qpair()
1891 t->send_cq = ib_alloc_cq(t->cm_id->device, t, in smb_direct_create_qpair()
1901 t->recv_cq = ib_alloc_cq(t->cm_id->device, t, in smb_direct_create_qpair()
1920 ret = rdma_create_qp(t->cm_id, t->pd, &qp_attr); in smb_direct_create_qpair()
1926 t->qp = t->cm_id->qp; in smb_direct_create_qpair()
1927 t->cm_id->event_handler = smb_direct_cm_handler; in smb_direct_create_qpair()
1930 if (pages_per_rw > t->cm_id->device->attrs.max_sgl_rd) { in smb_direct_create_qpair()
1945 rdma_destroy_qp(t->cm_id); in smb_direct_create_qpair()
2082 static int smb_direct_listen_handler(struct rdma_cm_id *cm_id, in smb_direct_listen_handler() argument
2087 int ret = smb_direct_handle_connect_request(cm_id); in smb_direct_listen_handler()
2095 cm_id); in smb_direct_listen_handler()
2100 cm_id, rdma_event_msg(event->event), event->event); in smb_direct_listen_handler()
2109 struct rdma_cm_id *cm_id; in smb_direct_listen() local
2116 cm_id = rdma_create_id(&init_net, smb_direct_listen_handler, in smb_direct_listen()
2118 if (IS_ERR(cm_id)) { in smb_direct_listen()
2119 pr_err("Can't create cm id: %ld\n", PTR_ERR(cm_id)); in smb_direct_listen()
2120 return PTR_ERR(cm_id); in smb_direct_listen()
2123 ret = rdma_bind_addr(cm_id, (struct sockaddr *)&sin); in smb_direct_listen()
2129 smb_direct_listener.cm_id = cm_id; in smb_direct_listen()
2131 ret = rdma_listen(cm_id, 10); in smb_direct_listen()
2138 smb_direct_listener.cm_id = NULL; in smb_direct_listen()
2139 rdma_destroy_id(cm_id); in smb_direct_listen()
2193 smb_direct_listener.cm_id = NULL; in ksmbd_rdma_init()
2220 smb_direct_listener.cm_id); in ksmbd_rdma_init()
2226 if (!smb_direct_listener.cm_id) in ksmbd_rdma_destroy()
2230 rdma_destroy_id(smb_direct_listener.cm_id); in ksmbd_rdma_destroy()
2232 smb_direct_listener.cm_id = NULL; in ksmbd_rdma_destroy()