/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->node->full_name); in ehca_sense_attributes() 295 loc_code = of_get_property(shca->ofdev->node, "ibm,loc-code", NULL); in ehca_sense_attributes() 305 h_ret = hipz_h_query_hca(shca->ipz_hca_handle, rblock); in ehca_sense_attributes() 314 shca->num_ports = 1; in ehca_sense_attributes() 316 shca->num_ports = (u8)rblock->num_ports; in ehca_sense_attributes() 331 shca->hw_level = 0x10 | (revid + 1); in ehca_sense_attributes() 333 shca->hw_level = 0x14; in ehca_sense_attributes() 336 shca->hw_level = 0x21; in ehca_sense_attributes() 338 shca->hw_level = 0x22; in ehca_sense_attributes() [all …]
|
D | ehca_irq.c | 86 static void print_error_data(struct ehca_shca *shca, void *data, in print_error_data() argument 101 ehca_err(&shca->ib_device, in print_error_data() 110 ehca_err(&shca->ib_device, in print_error_data() 116 ehca_err(&shca->ib_device, in print_error_data() 118 type, shca->ib_device.name); in print_error_data() 122 ehca_err(&shca->ib_device, "Error data is available: %llx.", resource); in print_error_data() 123 ehca_err(&shca->ib_device, "EHCA ----- error data begin " in print_error_data() 126 ehca_err(&shca->ib_device, "EHCA ----- error data end " in print_error_data() 132 int ehca_error_data(struct ehca_shca *shca, void *data, in ehca_error_data() argument 142 ehca_err(&shca->ib_device, "Cannot allocate rblock memory."); in ehca_error_data() [all …]
|
D | ehca_hca.c | 54 struct ehca_shca *shca = container_of(ibdev, struct ehca_shca, in ehca_query_device() local 74 ehca_err(&shca->ib_device, "Can't allocate rblock memory."); in ehca_query_device() 78 if (hipz_h_query_hca(shca->ipz_hca_handle, rblock) != H_SUCCESS) { in ehca_query_device() 79 ehca_err(&shca->ib_device, "Can't query device properties"); in ehca_query_device() 85 props->page_size_cap = shca->hca_cap_mr_pgsize; in ehca_query_device() 110 if (EHCA_BMASK_GET(HCA_CAP_SRQ, shca->hca_cap)) { in ehca_query_device() 140 static enum ib_mtu map_mtu(struct ehca_shca *shca, u32 fw_mtu) in map_mtu() argument 154 ehca_err(&shca->ib_device, "Unknown MTU size: %x.", in map_mtu() 160 static u8 map_number_of_vls(struct ehca_shca *shca, u32 vl_cap) in map_number_of_vls() argument 174 ehca_err(&shca->ib_device, "invalid Vl Capability: %x.", in map_number_of_vls() [all …]
|
D | ehca_mrmw.c | 78 static u64 ehca_get_max_hwpage_size(struct ehca_shca *shca) in ehca_get_max_hwpage_size() argument 80 return 1UL << ilog2(shca->hca_cap_mr_pgsize); in ehca_get_max_hwpage_size() 127 struct ehca_shca *shca = in ehca_get_dma_mr() local 130 if (shca->maxmr) { in ehca_get_dma_mr() 133 ehca_err(&shca->ib_device, "out of memory"); in ehca_get_dma_mr() 138 ret = ehca_reg_maxmr(shca, e_maxmr, (u64 *)KERNELBASE, in ehca_get_dma_mr() 149 ehca_err(&shca->ib_device, "no internal max-MR exist!"); in ehca_get_dma_mr() 156 ehca_err(&shca->ib_device, "h_ret=%li pd=%p mr_access_flags=%x", in ehca_get_dma_mr() 172 struct ehca_shca *shca = in ehca_reg_phys_mr() local 223 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() 127 (void *)shca); in ehca_create_eq() 131 tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca); in ehca_create_eq() 135 (void *)shca); in ehca_create_eq() 139 tasklet_init(&eq->interrupt_task, ehca_tasklet_neq, (long)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 | 45 int ehca_reg_mr(struct ehca_shca *shca, 55 int ehca_reg_mr_rpages(struct ehca_shca *shca, 59 int ehca_rereg_mr(struct ehca_shca *shca, 69 int ehca_unmap_one_fmr(struct ehca_shca *shca, 72 int ehca_reg_smr(struct ehca_shca *shca, 81 int ehca_reg_internal_maxmr(struct ehca_shca *shca, 85 int ehca_reg_maxmr(struct ehca_shca *shca, 93 int ehca_dereg_internal_maxmr(struct ehca_shca *shca);
|
D | ehca_cq.c | 121 struct ehca_shca *shca = in ehca_create_cq() local 135 if (!atomic_add_unless(&shca->num_cqs, 1, shca->max_num_cqs)) { in ehca_create_cq() 137 "CQs reached.", shca->max_num_cqs); in ehca_create_cq() 147 atomic_dec(&shca->num_cqs); in ehca_create_cq() 161 adapter_handle = shca->ipz_hca_handle; in ehca_create_cq() 162 param.eq_handle = shca->eq.ipz_eq_handle; in ehca_create_cq() 320 atomic_dec(&shca->num_cqs); in ehca_create_cq() 330 struct ehca_shca *shca = container_of(device, struct ehca_shca, in ehca_destroy_cq() local 332 struct ipz_adapter_handle adapter_handle = shca->ipz_hca_handle; in ehca_destroy_cq() 361 ehca_error_data(shca, my_cq, my_cq->ipz_cq_handle.handle); in ehca_destroy_cq() [all …]
|
D | ehca_av.c | 50 int ehca_calc_ipd(struct ehca_shca *shca, int port, in ehca_calc_ipd() argument 63 ehca_err(&shca->ib_device, "Invalid static rate! path_rate=%x", in ehca_calc_ipd() 68 ret = ehca_query_port(&shca->ib_device, port, &pa); in ehca_calc_ipd() 70 ehca_err(&shca->ib_device, "Failed to query port ret=%i", ret); in ehca_calc_ipd() 90 struct ehca_shca *shca = container_of(pd->device, struct ehca_shca, in ehca_create_ah() local 106 if (ehca_calc_ipd(shca, ah_attr->port_num, in ehca_create_ah() 152 av->av.pmtu = shca->max_mtu; in ehca_create_ah() 170 struct ehca_shca *shca = container_of(ah->pd->device, struct ehca_shca, in ehca_modify_ah() local 219 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 | 74 struct ehca_shca *shca = container_of(device, struct ehca_shca, in ehca_alloc_pd() local 76 pd->fw_pd.value = shca->pd->fw_pd.value; in ehca_alloc_pd()
|