/drivers/infiniband/hw/ehca/ |
D | ehca_main.c | 278 static int ehca_sense_attributes(struct ehca_shca *shca) in ehca_sense_attributes() argument 294 shca->ofdev->dev.of_node->full_name); in ehca_sense_attributes() 295 loc_code = of_get_property(shca->ofdev->dev.of_node, "ibm,loc-code", in ehca_sense_attributes() 306 h_ret = hipz_h_query_hca(shca->ipz_hca_handle, rblock); in ehca_sense_attributes() 315 shca->num_ports = 1; in ehca_sense_attributes() 317 shca->num_ports = (u8)rblock->num_ports; in ehca_sense_attributes() 332 shca->hw_level = 0x10 | (revid + 1); in ehca_sense_attributes() 334 shca->hw_level = 0x14; in ehca_sense_attributes() 337 shca->hw_level = 0x21; in ehca_sense_attributes() 339 shca->hw_level = 0x22; in ehca_sense_attributes() [all …]
|
D | ehca_irq.c | 88 static void print_error_data(struct ehca_shca *shca, void *data, in print_error_data() argument 103 ehca_err(&shca->ib_device, in print_error_data() 112 ehca_err(&shca->ib_device, in print_error_data() 118 ehca_err(&shca->ib_device, in print_error_data() 120 type, shca->ib_device.name); in print_error_data() 124 ehca_err(&shca->ib_device, "Error data is available: %llx.", resource); in print_error_data() 125 ehca_err(&shca->ib_device, "EHCA ----- error data begin " in print_error_data() 128 ehca_err(&shca->ib_device, "EHCA ----- error data end " in print_error_data() 134 int ehca_error_data(struct ehca_shca *shca, void *data, in ehca_error_data() argument 144 ehca_err(&shca->ib_device, "Cannot allocate rblock memory."); in ehca_error_data() [all …]
|
D | ehca_hca.c | 56 struct ehca_shca *shca = container_of(ibdev, struct ehca_shca, in ehca_query_device() local 76 ehca_err(&shca->ib_device, "Can't allocate rblock memory."); in ehca_query_device() 80 if (hipz_h_query_hca(shca->ipz_hca_handle, rblock) != H_SUCCESS) { in ehca_query_device() 81 ehca_err(&shca->ib_device, "Can't query device properties"); in ehca_query_device() 87 props->page_size_cap = shca->hca_cap_mr_pgsize; in ehca_query_device() 112 if (EHCA_BMASK_GET(HCA_CAP_SRQ, shca->hca_cap)) { in ehca_query_device() 142 static enum ib_mtu map_mtu(struct ehca_shca *shca, u32 fw_mtu) in map_mtu() argument 156 ehca_err(&shca->ib_device, "Unknown MTU size: %x.", in map_mtu() 162 static u8 map_number_of_vls(struct ehca_shca *shca, u32 vl_cap) in map_number_of_vls() argument 176 ehca_err(&shca->ib_device, "invalid Vl Capability: %x.", in map_number_of_vls() [all …]
|
D | ehca_mrmw.c | 113 static u64 ehca_get_max_hwpage_size(struct ehca_shca *shca) in ehca_get_max_hwpage_size() argument 115 return rounddown_pow_of_two(shca->hca_cap_mr_pgsize); in ehca_get_max_hwpage_size() 162 struct ehca_shca *shca = in ehca_get_dma_mr() local 165 if (shca->maxmr) { in ehca_get_dma_mr() 168 ehca_err(&shca->ib_device, "out of memory"); in ehca_get_dma_mr() 173 ret = ehca_reg_maxmr(shca, e_maxmr, in ehca_get_dma_mr() 185 ehca_err(&shca->ib_device, "no internal max-MR exist!"); in ehca_get_dma_mr() 192 ehca_err(&shca->ib_device, "h_ret=%li pd=%p mr_access_flags=%x", in ehca_get_dma_mr() 208 struct ehca_shca *shca = in ehca_reg_phys_mr() local 259 ret = ehca_reg_maxmr(shca, e_mr, iova_start, mr_access_flags, in ehca_reg_phys_mr() [all …]
|
D | ehca_eq.c | 53 int ehca_create_eq(struct ehca_shca *shca, in ehca_create_eq() argument 62 struct ib_device *ib_dev = &shca->ib_device; in ehca_create_eq() 77 h_ret = hipz_h_alloc_resource_eq(shca->ipz_hca_handle, in ehca_create_eq() 105 h_ret = hipz_h_register_rpage_eq(shca->ipz_hca_handle, in ehca_create_eq() 125 tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca); in ehca_create_eq() 129 (void *)shca); in ehca_create_eq() 133 tasklet_init(&eq->interrupt_task, ehca_tasklet_neq, (long)shca); in ehca_create_eq() 137 (void *)shca); in ehca_create_eq() 150 hipz_h_destroy_eq(shca->ipz_hca_handle, eq); in ehca_create_eq() 155 void *ehca_poll_eq(struct ehca_shca *shca, struct ehca_eq *eq) in ehca_poll_eq() argument [all …]
|
D | ehca_sqp.c | 64 u64 ehca_define_sqp(struct ehca_shca *shca, in ehca_define_sqp() argument 73 shca->sport[port - 1].port_state = IB_PORT_DOWN; in ehca_define_sqp() 80 ret = hipz_h_define_aqp1(shca->ipz_hca_handle, in ehca_define_sqp() 87 ehca_err(&shca->ib_device, in ehca_define_sqp() 92 shca->sport[port - 1].pma_qp_nr = pma_qp_nr; in ehca_define_sqp() 93 ehca_dbg(&shca->ib_device, "port=%x pma_qp_nr=%x", in ehca_define_sqp() 97 ehca_err(&shca->ib_device, "invalid qp_type=%x", in ehca_define_sqp() 106 shca->sport[port - 1].port_state != IB_PORT_ACTIVE && in ehca_define_sqp() 109 ehca_dbg(&shca->ib_device, "... wait until port %x is active", in ehca_define_sqp() 115 ehca_err(&shca->ib_device, "Port %x is not active.", port); in ehca_define_sqp() [all …]
|
D | ehca_qp.c | 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() [all …]
|
D | ehca_mrmw.h | 50 int ehca_reg_mr(struct ehca_shca *shca, 61 int ehca_reg_mr_rpages(struct ehca_shca *shca, 65 int ehca_rereg_mr(struct ehca_shca *shca, 75 int ehca_unmap_one_fmr(struct ehca_shca *shca, 78 int ehca_reg_smr(struct ehca_shca *shca, 87 int ehca_reg_internal_maxmr(struct ehca_shca *shca, 91 int ehca_reg_maxmr(struct ehca_shca *shca, 99 int ehca_dereg_internal_maxmr(struct ehca_shca *shca);
|
D | ehca_cq.c | 123 struct ehca_shca *shca = in ehca_create_cq() local 137 if (!atomic_add_unless(&shca->num_cqs, 1, shca->max_num_cqs)) { in ehca_create_cq() 139 "CQs reached.", shca->max_num_cqs); in ehca_create_cq() 149 atomic_dec(&shca->num_cqs); in ehca_create_cq() 163 adapter_handle = shca->ipz_hca_handle; in ehca_create_cq() 164 param.eq_handle = shca->eq.ipz_eq_handle; in ehca_create_cq() 322 atomic_dec(&shca->num_cqs); in ehca_create_cq() 332 struct ehca_shca *shca = container_of(device, struct ehca_shca, in ehca_destroy_cq() local 334 struct ipz_adapter_handle adapter_handle = shca->ipz_hca_handle; in ehca_destroy_cq() 363 ehca_error_data(shca, my_cq, my_cq->ipz_cq_handle.handle); in ehca_destroy_cq() [all …]
|
D | ehca_av.c | 52 int ehca_calc_ipd(struct ehca_shca *shca, int port, in ehca_calc_ipd() argument 65 ehca_err(&shca->ib_device, "Invalid static rate! path_rate=%x", in ehca_calc_ipd() 70 ret = ehca_query_port(&shca->ib_device, port, &pa); in ehca_calc_ipd() 72 ehca_err(&shca->ib_device, "Failed to query port ret=%i", ret); in ehca_calc_ipd() 92 struct ehca_shca *shca = container_of(pd->device, struct ehca_shca, in ehca_create_ah() local 108 if (ehca_calc_ipd(shca, ah_attr->port_num, in ehca_create_ah() 154 av->av.pmtu = shca->max_mtu; in ehca_create_ah() 172 struct ehca_shca *shca = container_of(ah->pd->device, struct ehca_shca, in ehca_modify_ah() local 221 new_ehca_av.pmtu = shca->max_mtu; in ehca_modify_ah()
|
D | ehca_iverbs.h | 52 int ehca_query_sma_attr(struct ehca_shca *shca, u8 port, 121 int ehca_create_eq(struct ehca_shca *shca, struct ehca_eq *eq, 124 int ehca_destroy_eq(struct ehca_shca *shca, struct ehca_eq *eq); 126 void *ehca_poll_eq(struct ehca_shca *shca, struct ehca_eq *eq); 176 u64 ehca_define_sqp(struct ehca_shca *shca, struct ehca_qp *ibqp, 197 int ehca_calc_ipd(struct ehca_shca *shca, int port,
|
D | ehca_mcast.c | 62 struct ehca_shca *shca = container_of(ibqp->device, struct ehca_shca, in ehca_attach_mcast() local 84 h_ret = hipz_h_attach_mcqp(shca->ipz_hca_handle, in ehca_attach_mcast() 99 struct ehca_shca *shca = container_of(ibqp->pd->device, in ehca_detach_mcast() local 121 h_ret = hipz_h_detach_mcqp(shca->ipz_hca_handle, in ehca_detach_mcast()
|
D | ehca_irq.h | 51 int ehca_error_data(struct ehca_shca *shca, void *data, u64 resource); 58 void ehca_process_eq(struct ehca_shca *shca, int is_irq);
|
D | ehca_pd.c | 76 struct ehca_shca *shca = container_of(device, struct ehca_shca, in ehca_alloc_pd() local 78 pd->fw_pd.value = shca->pd->fw_pd.value; in ehca_alloc_pd()
|