Lines Matching refs:shca

279 static inline int init_qp_queue(struct ehca_shca *shca,  in init_qp_queue()  argument
291 struct ib_device *ib_dev = &shca->ib_device; in init_qp_queue()
292 struct ipz_adapter_handle ipz_hca_handle = shca->ipz_hca_handle; in init_qp_queue()
460 struct ehca_shca *shca = container_of(pd->device, struct ehca_shca, in internal_create_qp() local
472 if (!atomic_add_unless(&shca->num_qps, 1, shca->max_num_qps)) { in internal_create_qp()
474 "QPs reached.", shca->max_num_qps); in internal_create_qp()
481 atomic_dec(&shca->num_qps); in internal_create_qp()
492 atomic_dec(&shca->num_qps); in internal_create_qp()
511 atomic_dec(&shca->num_qps); in internal_create_qp()
522 atomic_dec(&shca->num_qps); in internal_create_qp()
534 atomic_dec(&shca->num_qps); in internal_create_qp()
546 atomic_dec(&shca->num_qps); in internal_create_qp()
560 atomic_dec(&shca->num_qps); in internal_create_qp()
565 if (!EHCA_BMASK_GET(HCA_CAP_UD_LL_QP, shca->hca_cap)) { in internal_create_qp()
568 atomic_dec(&shca->num_qps); in internal_create_qp()
580 atomic_dec(&shca->num_qps); in internal_create_qp()
587 atomic_dec(&shca->num_qps); in internal_create_qp()
594 atomic_dec(&shca->num_qps); in internal_create_qp()
607 atomic_dec(&shca->num_qps); in internal_create_qp()
615 atomic_dec(&shca->num_qps); in internal_create_qp()
681 parms.eq_handle = shca->eq.ipz_eq_handle; in internal_create_qp()
697 if (EHCA_BMASK_GET(HCA_CAP_MINI_QP, shca->hca_cap)) { in internal_create_qp()
708 h_ret = hipz_h_alloc_resource_qp(shca->ipz_hca_handle, &parms, is_user); in internal_create_qp()
761 shca, my_pd, my_qp, &my_qp->ipz_squeue, 0, in internal_create_qp()
788 shca, my_pd, my_qp, &my_qp->ipz_rqueue, 1, in internal_create_qp()
846 shca->sport[init_attr->port_num - 1].ibqp_sqp[qp_type] = in internal_create_qp()
866 h_ret = ehca_define_sqp(shca, my_qp, init_attr); in internal_create_qp()
871 shca->sport[init_attr->port_num - 1].ibqp_sqp[qp_type] = in internal_create_qp()
938 hipz_h_destroy_qp(shca->ipz_hca_handle, my_qp); in internal_create_qp()
947 atomic_dec(&shca->num_qps); in internal_create_qp()
971 struct ehca_shca *shca = container_of(pd->device, struct ehca_shca, in ehca_create_srq() local
1010 hret = hipz_h_modify_qp(shca->ipz_hca_handle, in ehca_create_srq()
1024 hret = hipz_h_modify_qp(shca->ipz_hca_handle, in ehca_create_srq()
1038 hret = hipz_h_modify_qp(shca->ipz_hca_handle, in ehca_create_srq()
1069 static int prepare_sqe_rts(struct ehca_qp *my_qp, struct ehca_shca *shca, in prepare_sqe_rts() argument
1080 h_ret = hipz_h_disable_and_get_wqe(shca->ipz_hca_handle, in prepare_sqe_rts()
1084 ehca_err(&shca->ib_device, "hipz_h_disable_and_get_wqe() failed" in prepare_sqe_rts()
1090 ehca_dbg(&shca->ib_device, "qp_num=%x bad_send_wqe_p=%p", in prepare_sqe_rts()
1098 ehca_err(&shca->ib_device, "failed to get wqe offset qp_num=%x" in prepare_sqe_rts()
1119 ehca_dbg(&shca->ib_device, "qp_num=%x flusherr_wqe_cnt=%x", in prepare_sqe_rts()
1159 static int check_for_left_cqes(struct ehca_qp *my_qp, struct ehca_shca *shca) in check_for_left_cqes() argument
1170 h_ret = hipz_h_disable_and_get_wqe(shca->ipz_hca_handle, in check_for_left_cqes()
1174 ehca_err(&shca->ib_device, "disable_and_get_wqe() " in check_for_left_cqes()
1246 struct ehca_shca *shca = in internal_modify_qp() local
1263 h_ret = hipz_h_query_qp(shca->ipz_hca_handle, in internal_modify_qp()
1383 (shca->hw_level >= 0x22)) { in internal_modify_qp()
1406 ret = prepare_sqe_rts(my_qp, shca, &bad_wqe_cnt); in internal_modify_qp()
1448 if (attr->port_num < 1 || attr->port_num > shca->num_ports) { in internal_modify_qp()
1453 shca->num_ports); in internal_modify_qp()
1456 sport = &shca->sport[attr->port_num - 1]; in internal_modify_qp()
1494 if (ehca_calc_ipd(shca, mqpcb->prim_phys_port, in internal_modify_qp()
1571 || attr->alt_port_num > shca->num_ports) { in internal_modify_qp()
1576 shca->num_ports); in internal_modify_qp()
1595 if (ehca_calc_ipd(shca, mqpcb->alt_phys_port, in internal_modify_qp()
1692 h_ret = hipz_h_modify_qp(shca->ipz_hca_handle, in internal_modify_qp()
1722 h_ret = hipz_h_modify_qp(shca->ipz_hca_handle, in internal_modify_qp()
1740 ret = check_for_left_cqes(my_qp, shca); in internal_modify_qp()
1783 struct ehca_shca *shca = container_of(ibqp->device, struct ehca_shca, in ehca_modify_qp() local
1804 struct ehca_sport *sport = &shca->sport[port - 1]; in ehca_modify_qp()
1811 ehca_err(&shca->ib_device, in ehca_modify_qp()
1824 ehca_dbg(&shca->ib_device, in ehca_modify_qp()
1892 struct ehca_shca *shca = container_of(qp->device, struct ehca_shca, in ehca_query_qp() local
1894 struct ipz_adapter_handle adapter_handle = shca->ipz_hca_handle; in ehca_query_qp()
2037 struct ehca_shca *shca = in ehca_modify_srq() local
2073 h_ret = hipz_h_modify_qp(shca->ipz_hca_handle, my_qp->ipz_qp_handle, in ehca_modify_srq()
2093 struct ehca_shca *shca = container_of(srq->device, struct ehca_shca, in ehca_query_srq() local
2095 struct ipz_adapter_handle adapter_handle = shca->ipz_hca_handle; in ehca_query_srq()
2134 struct ehca_shca *shca = container_of(dev, struct ehca_shca, ib_device); in internal_destroy_qp() local
2137 struct ehca_sport *sport = &shca->sport[my_qp->init_attr.port_num - 1]; in internal_destroy_qp()
2183 h_ret = hipz_h_destroy_qp(shca->ipz_hca_handle, my_qp); in internal_destroy_qp()
2197 shca->sport[port_num - 1].ibqp_sqp[qp_type] = NULL; in internal_destroy_qp()
2205 shca->ib_device.name, port_num); in internal_destroy_qp()
2206 event.device = &shca->ib_device; in internal_destroy_qp()
2209 shca->sport[port_num - 1].port_state = IB_PORT_DOWN; in internal_destroy_qp()
2224 atomic_dec(&shca->num_qps); in internal_destroy_qp()