Lines Matching refs:ah_attr
88 struct ib_ah *ehca_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr) in ehca_create_ah() argument
98 pd, ah_attr); in ehca_create_ah()
102 av->av.sl = ah_attr->sl; in ehca_create_ah()
103 av->av.dlid = ah_attr->dlid; in ehca_create_ah()
104 av->av.slid_path_bits = ah_attr->src_path_bits; in ehca_create_ah()
108 if (ehca_calc_ipd(shca, ah_attr->port_num, in ehca_create_ah()
109 ah_attr->static_rate, &ipd)) { in ehca_create_ah()
117 av->av.lnh = ah_attr->ah_flags; in ehca_create_ah()
120 ah_attr->grh.traffic_class); in ehca_create_ah()
122 ah_attr->grh.flow_label); in ehca_create_ah()
124 ah_attr->grh.hop_limit); in ehca_create_ah()
127 if (ah_attr->ah_flags & IB_AH_GRH) { in ehca_create_ah()
132 rc = ehca_query_port(pd->device, ah_attr->port_num, in ehca_create_ah()
138 "pd=%p ah_attr=%p", rc, pd, ah_attr); in ehca_create_ah()
143 ah_attr->port_num, in ehca_create_ah()
144 ah_attr->grh.sgid_index, &gid); in ehca_create_ah()
149 "pd=%p ah_attr=%p", rc, pd, ah_attr); in ehca_create_ah()
157 memcpy(&av->av.grh.word_3, &ah_attr->grh.dgid, in ehca_create_ah()
158 sizeof(ah_attr->grh.dgid)); in ehca_create_ah()
168 int ehca_modify_ah(struct ib_ah *ah, struct ib_ah_attr *ah_attr) in ehca_modify_ah() argument
176 new_ehca_av.sl = ah_attr->sl; in ehca_modify_ah()
177 new_ehca_av.dlid = ah_attr->dlid; in ehca_modify_ah()
178 new_ehca_av.slid_path_bits = ah_attr->src_path_bits; in ehca_modify_ah()
179 new_ehca_av.ipd = ah_attr->static_rate; in ehca_modify_ah()
181 (ah_attr->ah_flags & IB_AH_GRH) > 0); in ehca_modify_ah()
183 ah_attr->grh.traffic_class); in ehca_modify_ah()
185 ah_attr->grh.flow_label); in ehca_modify_ah()
187 ah_attr->grh.hop_limit); in ehca_modify_ah()
191 if (ah_attr->ah_flags & IB_AH_GRH) { in ehca_modify_ah()
196 rc = ehca_query_port(ah->device, ah_attr->port_num, in ehca_modify_ah()
202 rc, ah, ah_attr, ah_attr->port_num); in ehca_modify_ah()
207 ah_attr->port_num, in ehca_modify_ah()
208 ah_attr->grh.sgid_index, &gid); in ehca_modify_ah()
214 rc, ah, ah_attr, ah_attr->port_num, in ehca_modify_ah()
215 ah_attr->grh.sgid_index); in ehca_modify_ah()
223 memcpy(&new_ehca_av.grh.word_3, &ah_attr->grh.dgid, in ehca_modify_ah()
224 sizeof(ah_attr->grh.dgid)); in ehca_modify_ah()
232 int ehca_query_ah(struct ib_ah *ah, struct ib_ah_attr *ah_attr) in ehca_query_ah() argument
236 memcpy(&ah_attr->grh.dgid, &av->av.grh.word_3, in ehca_query_ah()
237 sizeof(ah_attr->grh.dgid)); in ehca_query_ah()
238 ah_attr->sl = av->av.sl; in ehca_query_ah()
240 ah_attr->dlid = av->av.dlid; in ehca_query_ah()
242 ah_attr->src_path_bits = av->av.slid_path_bits; in ehca_query_ah()
243 ah_attr->static_rate = av->av.ipd; in ehca_query_ah()
244 ah_attr->ah_flags = EHCA_BMASK_GET(GRH_FLAG_MASK, av->av.lnh); in ehca_query_ah()
245 ah_attr->grh.traffic_class = EHCA_BMASK_GET(GRH_TCLASS_MASK, in ehca_query_ah()
247 ah_attr->grh.hop_limit = EHCA_BMASK_GET(GRH_HOPLIMIT_MASK, in ehca_query_ah()
249 ah_attr->grh.flow_label = EHCA_BMASK_GET(GRH_FLOWLABEL_MASK, in ehca_query_ah()