Home
last modified time | relevance | path

Searched refs:shca (Results 1 – 14 of 14) sorted by relevance

/drivers/infiniband/hw/ehca/
Dehca_main.c278 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 …]
Dehca_irq.c88 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 …]
Dehca_hca.c56 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 …]
Dehca_mrmw.c113 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 …]
Dehca_eq.c53 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 …]
Dehca_sqp.c64 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 …]
Dehca_qp.c279 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 …]
Dehca_mrmw.h50 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);
Dehca_cq.c123 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 …]
Dehca_av.c52 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()
Dehca_iverbs.h52 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,
Dehca_mcast.c62 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()
Dehca_irq.h51 int ehca_error_data(struct ehca_shca *shca, void *data, u64 resource);
58 void ehca_process_eq(struct ehca_shca *shca, int is_irq);
Dehca_pd.c76 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()