Lines Matching +refs:dev +refs:id +refs:attrs
92 static struct erdma_cep *erdma_cep_alloc(struct erdma_dev *dev) in erdma_cep_alloc() argument
108 cep->dev = dev; in erdma_cep_alloc()
110 spin_lock_irqsave(&dev->lock, flags); in erdma_cep_alloc()
111 list_add_tail(&cep->devq, &dev->cep_list); in erdma_cep_alloc()
112 spin_unlock_irqrestore(&dev->lock, flags); in erdma_cep_alloc()
182 struct erdma_dev *dev = cep->dev; in __erdma_cep_dealloc() local
194 spin_lock_irqsave(&dev->lock, flags); in __erdma_cep_dealloc()
196 spin_unlock_irqrestore(&dev->lock, flags); in __erdma_cep_dealloc()
248 event.ird = cep->dev->attrs.max_ird; in erdma_cm_upcall()
249 event.ord = cep->dev->attrs.max_ord; in erdma_cm_upcall()
606 if (qp->attrs.state > ERDMA_QP_STATE_RTR) { in erdma_proc_mpareply()
612 qp->attrs.qp_type = ERDMA_QP_ACTIVE; in erdma_proc_mpareply()
613 if (__mpa_ext_cc(cep->mpa.ext_data.bits) != qp->attrs.cc) in erdma_proc_mpareply()
614 qp->attrs.cc = COMPROMISE_CC; in erdma_proc_mpareply()
648 new_cep = erdma_cep_alloc(cep->dev); in erdma_accept_newconn()
725 cep->mpa.ext_data.cookie = cpu_to_be32(cep->qp->attrs.cookie); in erdma_newconn_connected()
726 __mpa_ext_set_cc(&cep->mpa.ext_data.bits, cep->qp->attrs.cc); in erdma_newconn_connected()
1000 int erdma_connect(struct iw_cm_id *id, struct iw_cm_conn_param *params) in erdma_connect() argument
1002 struct erdma_dev *dev = to_edev(id->device); in erdma_connect() local
1006 struct sockaddr *laddr = (struct sockaddr *)&id->m_local_addr; in erdma_connect()
1007 struct sockaddr *raddr = (struct sockaddr *)&id->m_remote_addr; in erdma_connect()
1014 if (params->ird > dev->attrs.max_ird || in erdma_connect()
1015 params->ord > dev->attrs.max_ord) in erdma_connect()
1021 qp = find_qp_by_qpn(dev, params->qpn); in erdma_connect()
1030 cep = erdma_cep_alloc(dev); in erdma_connect()
1044 id->add_ref(id); in erdma_connect()
1045 cep->cm_id = id; in erdma_connect()
1104 id->rem_ref(id); in erdma_connect()
1127 int erdma_accept(struct iw_cm_id *id, struct iw_cm_conn_param *params) in erdma_accept() argument
1129 struct erdma_dev *dev = to_edev(id->device); in erdma_accept() local
1130 struct erdma_cep *cep = (struct erdma_cep *)id->provider_data; in erdma_accept()
1153 qp = find_qp_by_qpn(dev, params->qpn); in erdma_accept()
1159 if (qp->attrs.state > ERDMA_QP_STATE_RTR) { in erdma_accept()
1165 if (params->ord > dev->attrs.max_ord || in erdma_accept()
1166 params->ird > dev->attrs.max_ord) { in erdma_accept()
1181 cep->cm_id = id; in erdma_accept()
1182 id->add_ref(id); in erdma_accept()
1197 qp->attrs.qp_type = ERDMA_QP_PASSIVE; in erdma_accept()
1198 qp->attrs.pd_len = params->private_data_len; in erdma_accept()
1200 if (qp->attrs.cc != __mpa_ext_cc(cep->mpa.ext_data.bits)) in erdma_accept()
1201 qp->attrs.cc = COMPROMISE_CC; in erdma_accept()
1216 __mpa_ext_set_cc(&cep->mpa.ext_data.bits, qp->attrs.cc); in erdma_accept()
1217 cep->mpa.ext_data.cookie = cpu_to_be32(cep->qp->attrs.cookie); in erdma_accept()
1239 cep->cm_id->rem_ref(id); in erdma_accept()
1257 int erdma_reject(struct iw_cm_id *id, const void *pdata, u8 plen) in erdma_reject() argument
1259 struct erdma_cep *cep = (struct erdma_cep *)id->provider_data; in erdma_reject()
1290 int erdma_create_listen(struct iw_cm_id *id, int backlog) in erdma_create_listen() argument
1295 struct erdma_dev *dev = to_edev(id->device); in erdma_create_listen() local
1296 int addr_family = id->local_addr.ss_family; in erdma_create_listen()
1297 struct sockaddr_in *laddr = &to_sockaddr_in(id->local_addr); in erdma_create_listen()
1310 s->sk->sk_bound_dev_if = dev->netdev->ifindex; in erdma_create_listen()
1317 cep = erdma_cep_alloc(dev); in erdma_create_listen()
1332 cep->cm_id = id; in erdma_create_listen()
1333 id->add_ref(id); in erdma_create_listen()
1335 if (!id->provider_data) { in erdma_create_listen()
1336 id->provider_data = in erdma_create_listen()
1338 if (!id->provider_data) { in erdma_create_listen()
1342 INIT_LIST_HEAD((struct list_head *)id->provider_data); in erdma_create_listen()
1345 list_add_tail(&cep->listenq, (struct list_head *)id->provider_data); in erdma_create_listen()
1370 static void erdma_drop_listeners(struct iw_cm_id *id) in erdma_drop_listeners() argument
1377 list_for_each_safe(p, tmp, (struct list_head *)id->provider_data) { in erdma_drop_listeners()
1400 int erdma_destroy_listen(struct iw_cm_id *id) in erdma_destroy_listen() argument
1402 if (!id->provider_data) in erdma_destroy_listen()
1405 erdma_drop_listeners(id); in erdma_destroy_listen()
1406 kfree(id->provider_data); in erdma_destroy_listen()
1407 id->provider_data = NULL; in erdma_destroy_listen()