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->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 …]
Dehca_irq.c86 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 …]
Dehca_hca.c54 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 …]
Dehca_mrmw.c78 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 …]
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()
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 …]
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.h45 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);
Dehca_cq.c121 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 …]
Dehca_av.c50 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()
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.c74 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()