Lines Matching refs:device
199 enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num) in rdma_port_get_link_layer() argument
201 if (device->get_link_layer) in rdma_port_get_link_layer()
202 return device->get_link_layer(device, port_num); in rdma_port_get_link_layer()
204 switch (rdma_node_get_transport(device->node_type)) { in rdma_port_get_link_layer()
229 struct ib_pd *ib_alloc_pd(struct ib_device *device) in ib_alloc_pd() argument
235 rc = ib_query_device(device, &devattr); in ib_alloc_pd()
239 pd = device->alloc_pd(device, NULL, NULL); in ib_alloc_pd()
243 pd->device = device; in ib_alloc_pd()
249 pd->local_dma_lkey = device->local_dma_lkey; in ib_alloc_pd()
290 ret = pd->device->dealloc_pd(pd); in ib_dealloc_pd()
301 ah = pd->device->create_ah(pd, ah_attr); in ib_create_ah()
304 ah->device = pd->device; in ib_create_ah()
333 static int get_sgid_index_from_eth(struct ib_device *device, u8 port_num, in get_sgid_index_from_eth() argument
339 return ib_find_gid_by_filter(device, sgid, port_num, find_gid_index, in get_sgid_index_from_eth()
343 int ib_init_ah_from_wc(struct ib_device *device, u8 port_num, in ib_init_ah_from_wc() argument
352 if (rdma_cap_eth_ah(device, port_num)) { in ib_init_ah_from_wc()
370 ret = get_sgid_index_from_eth(device, port_num, vlan_id, in ib_init_ah_from_wc()
388 if (!rdma_cap_eth_ah(device, port_num)) { in ib_init_ah_from_wc()
389 ret = ib_find_cached_gid_by_port(device, &grh->dgid, in ib_init_ah_from_wc()
412 ret = ib_init_ah_from_wc(pd->device, port_num, wc, grh, &ah_attr); in ib_create_ah_from_wc()
422 return ah->device->modify_ah ? in ib_modify_ah()
423 ah->device->modify_ah(ah, ah_attr) : in ib_modify_ah()
430 return ah->device->query_ah ? in ib_query_ah()
431 ah->device->query_ah(ah, ah_attr) : in ib_query_ah()
442 ret = ah->device->destroy_ah(ah); in ib_destroy_ah()
457 if (!pd->device->create_srq) in ib_create_srq()
460 srq = pd->device->create_srq(pd, srq_init_attr, NULL); in ib_create_srq()
463 srq->device = pd->device; in ib_create_srq()
487 return srq->device->modify_srq ? in ib_modify_srq()
488 srq->device->modify_srq(srq, srq_attr, srq_attr_mask, NULL) : in ib_modify_srq()
496 return srq->device->query_srq ? in ib_query_srq()
497 srq->device->query_srq(srq, srq_attr) : -ENOSYS; in ib_query_srq()
519 ret = srq->device->destroy_srq(srq); in ib_destroy_srq()
539 spin_lock_irqsave(&qp->device->event_handler_lock, flags); in __ib_shared_qp_event_handler()
543 spin_unlock_irqrestore(&qp->device->event_handler_lock, flags); in __ib_shared_qp_event_handler()
566 qp->device = real_qp->device; in __ib_open_qp()
572 spin_lock_irqsave(&real_qp->device->event_handler_lock, flags); in __ib_open_qp()
574 spin_unlock_irqrestore(&real_qp->device->event_handler_lock, flags); in __ib_open_qp()
605 struct ib_device *device; in ib_create_qp() local
607 device = pd ? pd->device : qp_init_attr->xrcd->device; in ib_create_qp()
608 qp = device->create_qp(pd, qp_init_attr, NULL); in ib_create_qp()
611 qp->device = device; in ib_create_qp()
633 real_qp->device->destroy_qp(real_qp); in ib_create_qp()
1003 if (qp_attr->ah_attr.port_num < rdma_start_port(qp->device) || in ib_resolve_eth_dmac()
1004 qp_attr->ah_attr.port_num > rdma_end_port(qp->device)) in ib_resolve_eth_dmac()
1007 if (!rdma_cap_eth_ah(qp->device, qp_attr->ah_attr.port_num)) in ib_resolve_eth_dmac()
1018 ret = ib_query_gid(qp->device, in ib_resolve_eth_dmac()
1055 return qp->device->modify_qp(qp->real_qp, qp_attr, qp_attr_mask, NULL); in ib_modify_qp()
1064 return qp->device->query_qp ? in ib_query_qp()
1065 qp->device->query_qp(qp->real_qp, qp_attr, qp_attr_mask, qp_init_attr) : in ib_query_qp()
1079 spin_lock_irqsave(&real_qp->device->event_handler_lock, flags); in ib_close_qp()
1081 spin_unlock_irqrestore(&real_qp->device->event_handler_lock, flags); in ib_close_qp()
1136 ret = qp->device->destroy_qp(qp); in ib_destroy_qp()
1154 struct ib_cq *ib_create_cq(struct ib_device *device, in ib_create_cq() argument
1162 cq = device->create_cq(device, cq_attr, NULL, NULL); in ib_create_cq()
1165 cq->device = device; in ib_create_cq()
1179 return cq->device->modify_cq ? in ib_modify_cq()
1180 cq->device->modify_cq(cq, cq_count, cq_period) : -ENOSYS; in ib_modify_cq()
1189 return cq->device->destroy_cq(cq); in ib_destroy_cq()
1195 return cq->device->resize_cq ? in ib_resize_cq()
1196 cq->device->resize_cq(cq, cqe, NULL) : -ENOSYS; in ib_resize_cq()
1211 mr = pd->device->get_dma_mr(pd, mr_access_flags); in ib_get_dma_mr()
1214 mr->device = pd->device; in ib_get_dma_mr()
1227 return mr->device->query_mr ? in ib_query_mr()
1228 mr->device->query_mr(mr, mr_attr) : -ENOSYS; in ib_query_mr()
1241 ret = mr->device->dereg_mr(mr); in ib_dereg_mr()
1267 if (!pd->device->alloc_mr) in ib_alloc_mr()
1270 mr = pd->device->alloc_mr(pd, mr_type, max_num_sg); in ib_alloc_mr()
1272 mr->device = pd->device; in ib_alloc_mr()
1289 if (!pd->device->alloc_mw) in ib_alloc_mw()
1292 mw = pd->device->alloc_mw(pd, type); in ib_alloc_mw()
1294 mw->device = pd->device; in ib_alloc_mw()
1311 ret = mw->device->dealloc_mw(mw); in ib_dealloc_mw()
1327 if (!pd->device->alloc_fmr) in ib_alloc_fmr()
1330 fmr = pd->device->alloc_fmr(pd, mr_access_flags, fmr_attr); in ib_alloc_fmr()
1332 fmr->device = pd->device; in ib_alloc_fmr()
1349 return fmr->device->unmap_fmr(fmr_list); in ib_unmap_fmr()
1359 ret = fmr->device->dealloc_fmr(fmr); in ib_dealloc_fmr()
1373 if (!qp->device->attach_mcast) in ib_attach_mcast()
1378 ret = qp->device->attach_mcast(qp, gid, lid); in ib_attach_mcast()
1389 if (!qp->device->detach_mcast) in ib_detach_mcast()
1394 ret = qp->device->detach_mcast(qp, gid, lid); in ib_detach_mcast()
1401 struct ib_xrcd *ib_alloc_xrcd(struct ib_device *device) in ib_alloc_xrcd() argument
1405 if (!device->alloc_xrcd) in ib_alloc_xrcd()
1408 xrcd = device->alloc_xrcd(device, NULL, NULL); in ib_alloc_xrcd()
1410 xrcd->device = device; in ib_alloc_xrcd()
1436 return xrcd->device->dealloc_xrcd(xrcd); in ib_dealloc_xrcd()
1445 if (!qp->device->create_flow) in ib_create_flow()
1448 flow_id = qp->device->create_flow(qp, flow_attr, domain); in ib_create_flow()
1460 err = qp->device->destroy_flow(flow_id); in ib_destroy_flow()
1470 return mr->device->check_mr_status ? in ib_check_mr_status()
1471 mr->device->check_mr_status(mr, check_mask, mr_status) : -ENOSYS; in ib_check_mr_status()
1502 if (unlikely(!mr->device->map_mr_sg)) in ib_map_mr_sg()
1507 return mr->device->map_mr_sg(mr, sg, sg_nents); in ib_map_mr_sg()