Lines Matching refs:ah_attr

44 				  struct rdma_ah_attr *ah_attr,  in create_ib_ah()  argument
50 (rdma_ah_get_port_num(ah_attr) << 24)); in create_ib_ah()
51 ah->av.ib.g_slid = rdma_ah_get_path_bits(ah_attr); in create_ib_ah()
53 cpu_to_be32(rdma_ah_get_sl(ah_attr) << 28); in create_ib_ah()
54 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) { in create_ib_ah()
55 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_ib_ah()
66 ah->av.ib.dlid = cpu_to_be16(rdma_ah_get_dlid(ah_attr)); in create_ib_ah()
67 if (rdma_ah_get_static_rate(ah_attr)) { in create_ib_ah()
68 u8 static_rate = rdma_ah_get_static_rate(ah_attr) + in create_ib_ah()
81 struct rdma_ah_attr *ah_attr, in create_iboe_ah() argument
90 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_iboe_ah()
97 memcpy(ah->av.eth.mac, ah_attr->roce.dmac, ETH_ALEN); in create_iboe_ah()
104 gid_attr = ah_attr->grh.sgid_attr; in create_iboe_ah()
115 ah->av.eth.gid_index = ah_attr->grh.sgid_index; in create_iboe_ah()
119 vlan_tag |= (rdma_ah_get_sl(ah_attr) & 7) << 13; in create_iboe_ah()
121 (rdma_ah_get_port_num(ah_attr) << 24)); in create_iboe_ah()
124 if (rdma_ah_get_static_rate(ah_attr)) { in create_iboe_ah()
125 ah->av.eth.stat_rate = rdma_ah_get_static_rate(ah_attr) + in create_iboe_ah()
141 ah->av.eth.sl_tclass_flowlabel |= cpu_to_be32(rdma_ah_get_sl(ah_attr) in create_iboe_ah()
146 struct ib_ah *mlx4_ib_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr, in mlx4_ib_create_ah() argument
157 if (ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) { in mlx4_ib_create_ah()
158 if (!(rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH)) { in mlx4_ib_create_ah()
169 ret = create_iboe_ah(pd, ah_attr, ah); in mlx4_ib_create_ah()
177 return create_ib_ah(pd, ah_attr, ah); /* never fails */ in mlx4_ib_create_ah()
182 struct rdma_ah_attr *ah_attr, in mlx4_ib_create_ah_slave() argument
186 struct rdma_ah_attr slave_attr = *ah_attr; in mlx4_ib_create_ah_slave()
198 ah->type = ah_attr->type; in mlx4_ib_create_ah_slave()
204 if (ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) in mlx4_ib_create_ah_slave()
208 vlan_tag |= (rdma_ah_get_sl(ah_attr) & 7) << 13; in mlx4_ib_create_ah_slave()
214 int mlx4_ib_query_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr) in mlx4_ib_query_ah() argument
219 memset(ah_attr, 0, sizeof *ah_attr); in mlx4_ib_query_ah()
220 ah_attr->type = ibah->type; in mlx4_ib_query_ah()
222 if (ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) { in mlx4_ib_query_ah()
223 rdma_ah_set_dlid(ah_attr, 0); in mlx4_ib_query_ah()
224 rdma_ah_set_sl(ah_attr, in mlx4_ib_query_ah()
228 rdma_ah_set_dlid(ah_attr, be16_to_cpu(ah->av.ib.dlid)); in mlx4_ib_query_ah()
229 rdma_ah_set_sl(ah_attr, in mlx4_ib_query_ah()
234 rdma_ah_set_port_num(ah_attr, port_num); in mlx4_ib_query_ah()
236 rdma_ah_set_static_rate(ah_attr, in mlx4_ib_query_ah()
239 rdma_ah_set_path_bits(ah_attr, ah->av.ib.g_slid & 0x7F); in mlx4_ib_query_ah()
243 rdma_ah_set_grh(ah_attr, NULL, in mlx4_ib_query_ah()
247 rdma_ah_set_dgid_raw(ah_attr, ah->av.ib.dgid); in mlx4_ib_query_ah()