Lines Matching refs:av

159 	struct mthca_av *av = NULL;
164 ah->av = kmalloc(sizeof *ah->av, GFP_ATOMIC);
165 if (!ah->av)
169 av = ah->av;
178 av = kmalloc(sizeof *av, GFP_ATOMIC);
179 if (!av)
189 ah->av = pci_pool_alloc(dev->av_table.pool,
191 if (!ah->av)
194 av = ah->av;
199 memset(av, 0, MTHCA_AV_SIZE);
201 av->port_pd = cpu_to_be32(pd->pd_num | (ah_attr->port_num << 24));
202 av->g_slid = ah_attr->src_path_bits;
203 av->dlid = cpu_to_be16(ah_attr->dlid);
204 av->msg_sr = (3 << 4) | /* 2K message */
206 av->sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28);
208 av->g_slid |= 0x80;
209 av->gid_index = (ah_attr->port_num - 1) * dev->limits.gid_table_len +
211 av->hop_limit = ah_attr->grh.hop_limit;
212 av->sl_tclass_flowlabel |=
215 memcpy(av->dgid, ah_attr->grh.dgid.raw, 16);
218 av->dgid[3] = cpu_to_be32(2);
225 av, (unsigned long) ah->avdma);
228 j * 4, be32_to_cpu(((__be32 *) av)[j]));
233 av, MTHCA_AV_SIZE);
234 kfree(av);
250 pci_pool_free(dev->av_table.pool, ah->av, ah->avdma);
254 kfree(ah->av);
263 return !!(ah->av->g_slid & 0x80);
272 header->lrh.service_level = be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 28;
273 header->lrh.destination_lid = ah->av->dlid;
274 header->lrh.source_lid = cpu_to_be16(ah->av->g_slid & 0x7f);
277 (be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 20) & 0xff;
279 ah->av->sl_tclass_flowlabel & cpu_to_be32(0xfffff);
280 header->grh.hop_limit = ah->av->hop_limit;
282 be32_to_cpu(ah->av->port_pd) >> 24,
283 ah->av->gid_index % dev->limits.gid_table_len,
286 ah->av->dgid, 16);
302 attr->dlid = be16_to_cpu(ah->av->dlid);
303 attr->sl = be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 28;
304 attr->port_num = be32_to_cpu(ah->av->port_pd) >> 24;
305 attr->static_rate = mthca_rate_to_ib(dev, ah->av->msg_sr & 0x7,
307 attr->src_path_bits = ah->av->g_slid & 0x7F;
312 be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 20;
314 be32_to_cpu(ah->av->sl_tclass_flowlabel) & 0xfffff;
315 attr->grh.hop_limit = ah->av->hop_limit;
316 attr->grh.sgid_index = ah->av->gid_index &
318 memcpy(attr->grh.dgid.raw, ah->av->dgid, 16);