| /Linux-v5.4/drivers/infiniband/hw/mlx4/ |
| D | ah.c | 43 static void create_ib_ah(struct ib_ah *ib_ah, struct rdma_ah_attr *ah_attr) in create_ib_ah() argument 49 (rdma_ah_get_port_num(ah_attr) << 24)); in create_ib_ah() 50 ah->av.ib.g_slid = rdma_ah_get_path_bits(ah_attr); in create_ib_ah() 52 cpu_to_be32(rdma_ah_get_sl(ah_attr) << 28); in create_ib_ah() 53 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) { in create_ib_ah() 54 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_ib_ah() 65 ah->av.ib.dlid = cpu_to_be16(rdma_ah_get_dlid(ah_attr)); in create_ib_ah() 66 if (rdma_ah_get_static_rate(ah_attr)) { in create_ib_ah() 67 u8 static_rate = rdma_ah_get_static_rate(ah_attr) + in create_ib_ah() 77 static int create_iboe_ah(struct ib_ah *ib_ah, struct rdma_ah_attr *ah_attr) in create_iboe_ah() argument [all …]
|
| D | mad.c | 192 struct rdma_ah_attr ah_attr; in update_sm_ah() local 198 memset(&ah_attr, 0, sizeof ah_attr); in update_sm_ah() 199 ah_attr.type = rdma_ah_find_type(&dev->ib_dev, port_num); in update_sm_ah() 200 rdma_ah_set_dlid(&ah_attr, lid); in update_sm_ah() 201 rdma_ah_set_sl(&ah_attr, sl); in update_sm_ah() 202 rdma_ah_set_port_num(&ah_attr, port_num); in update_sm_ah() 205 &ah_attr, 0); in update_sm_ah() 1472 struct rdma_ah_attr *ah_attr) in fill_in_real_sgid_index() argument 1474 struct ib_global_route *grh = rdma_ah_retrieve_grh(ah_attr); in fill_in_real_sgid_index() 1488 struct rdma_ah_attr ah_attr; in mlx4_ib_multiplex_mad() local [all …]
|
| /Linux-v5.4/drivers/infiniband/hw/mlx5/ |
| D | ah.c | 36 struct rdma_ah_attr *ah_attr) in create_ib_ah() argument 40 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) { in create_ib_ah() 41 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_ib_ah() 51 ah->av.stat_rate_sl = (rdma_ah_get_static_rate(ah_attr) << 4); in create_ib_ah() 53 if (ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) { in create_ib_ah() 54 gid_type = ah_attr->grh.sgid_attr->gid_type; in create_ib_ah() 56 memcpy(ah->av.rmac, ah_attr->roce.dmac, in create_ib_ah() 57 sizeof(ah_attr->roce.dmac)); in create_ib_ah() 59 mlx5_get_roce_udp_sport(dev, ah_attr->grh.sgid_attr); in create_ib_ah() 60 ah->av.stat_rate_sl |= (rdma_ah_get_sl(ah_attr) & 0x7) << 1; in create_ib_ah() [all …]
|
| /Linux-v5.4/drivers/infiniband/hw/hns/ |
| D | hns_roce_ah.c | 42 int hns_roce_create_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr, in hns_roce_create_ah() argument 50 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in hns_roce_create_ah() 54 gid_attr = ah_attr->grh.sgid_attr; in hns_roce_create_ah() 60 memcpy(ah->av.mac, ah_attr->roce.dmac, ETH_ALEN); in hns_roce_create_ah() 64 vlan_tag |= (rdma_ah_get_sl(ah_attr) & in hns_roce_create_ah() 69 ah->av.port = rdma_ah_get_port_num(ah_attr); in hns_roce_create_ah() 76 if (rdma_ah_get_static_rate(ah_attr)) in hns_roce_create_ah() 80 ah->av.sl = rdma_ah_get_sl(ah_attr); in hns_roce_create_ah() 85 int hns_roce_query_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr) in hns_roce_query_ah() argument 89 memset(ah_attr, 0, sizeof(*ah_attr)); in hns_roce_query_ah() [all …]
|
| /Linux-v5.4/drivers/infiniband/sw/rdmavt/ |
| D | ah.c | 63 struct rdma_ah_attr *ah_attr) in rvt_check_ah() argument 66 int port_num = rdma_ah_get_port_num(ah_attr); in rvt_check_ah() 69 u8 ah_flags = rdma_ah_get_ah_flags(ah_attr); in rvt_check_ah() 70 u8 static_rate = rdma_ah_get_static_rate(ah_attr); in rvt_check_ah() 82 rdma_ah_read_grh(ah_attr)->sgid_index >= port_attr.gid_tbl_len) in rvt_check_ah() 85 return rdi->driver_f.check_ah(ibdev, ah_attr); in rvt_check_ah() 101 int rvt_create_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr, in rvt_create_ah() argument 108 if (rvt_check_ah(ibah->device, ah_attr)) in rvt_create_ah() 120 rdma_copy_ah_attr(&ah->attr, ah_attr); in rvt_create_ah() 123 dev->driver_f.notify_new_ah(ibah->device, ah_attr, ah); in rvt_create_ah() [all …]
|
| D | ah.h | 53 int rvt_create_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr, 56 int rvt_modify_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr); 57 int rvt_query_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr);
|
| /Linux-v5.4/drivers/infiniband/core/ |
| D | verbs.c | 57 struct rdma_ah_attr *ah_attr); 409 struct rdma_ah_attr *ah_attr) in rdma_check_ah_attr() argument 411 if (!rdma_is_port_valid(device, ah_attr->port_num)) in rdma_check_ah_attr() 414 if ((rdma_is_grh_required(device, ah_attr->port_num) || in rdma_check_ah_attr() 415 ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) && in rdma_check_ah_attr() 416 !(ah_attr->ah_flags & IB_AH_GRH)) in rdma_check_ah_attr() 419 if (ah_attr->grh.sgid_attr) { in rdma_check_ah_attr() 424 if (ah_attr->grh.sgid_attr->index != ah_attr->grh.sgid_index || in rdma_check_ah_attr() 425 ah_attr->grh.sgid_attr->port_num != ah_attr->port_num) in rdma_check_ah_attr() 436 struct rdma_ah_attr *ah_attr, in rdma_fill_sgid_attr() argument [all …]
|
| D | uverbs_marshall.c | 64 struct rdma_ah_attr *ah_attr) in ib_copy_ah_attr_to_user() argument 66 struct rdma_ah_attr *src = ah_attr; in ib_copy_ah_attr_to_user() 71 if ((ah_attr->type == RDMA_AH_ATTR_TYPE_OPA) && in ib_copy_ah_attr_to_user() 72 (rdma_ah_get_dlid(ah_attr) > be16_to_cpu(IB_LID_PERMISSIVE)) && in ib_copy_ah_attr_to_user() 73 (!rdma_ah_conv_opa_to_ib(device, &conv_ah, ah_attr))) in ib_copy_ah_attr_to_user() 116 ib_copy_ah_attr_to_user(device, &dst->ah_attr, &src->ah_attr); in ib_copy_qp_attr_to_user()
|
| D | sa_query.c | 1222 struct rdma_ah_attr *ah_attr, in init_ah_attr_grh_fields() argument 1235 rdma_move_grh_sgid_attr(ah_attr, &rec->dgid, in init_ah_attr_grh_fields() 1260 struct rdma_ah_attr *ah_attr, in ib_init_ah_attr_from_path() argument 1265 memset(ah_attr, 0, sizeof(*ah_attr)); in ib_init_ah_attr_from_path() 1266 ah_attr->type = rdma_ah_find_type(device, port_num); in ib_init_ah_attr_from_path() 1267 rdma_ah_set_sl(ah_attr, rec->sl); in ib_init_ah_attr_from_path() 1268 rdma_ah_set_port_num(ah_attr, port_num); in ib_init_ah_attr_from_path() 1269 rdma_ah_set_static_rate(ah_attr, rec->rate); in ib_init_ah_attr_from_path() 1276 memcpy(ah_attr->roce.dmac, sa_path_get_dmac(rec), ETH_ALEN); in ib_init_ah_attr_from_path() 1278 rdma_ah_set_dlid(ah_attr, be32_to_cpu(sa_path_get_dlid(rec))); in ib_init_ah_attr_from_path() [all …]
|
| D | user_mad.c | 262 struct rdma_ah_attr ah_attr; in recv_handler() local 269 &ah_attr); in recv_handler() 273 grh = rdma_ah_read_grh(&ah_attr); in recv_handler() 279 rdma_destroy_ah_attr(&ah_attr); in recv_handler() 489 struct rdma_ah_attr ah_attr; in ib_umad_write() local 531 memset(&ah_attr, 0, sizeof ah_attr); in ib_umad_write() 532 ah_attr.type = rdma_ah_find_type(agent->device, in ib_umad_write() 534 rdma_ah_set_dlid(&ah_attr, be16_to_cpu(packet->mad.hdr.lid)); in ib_umad_write() 535 rdma_ah_set_sl(&ah_attr, packet->mad.hdr.sl); in ib_umad_write() 536 rdma_ah_set_path_bits(&ah_attr, packet->mad.hdr.path_bits); in ib_umad_write() [all …]
|
| D | multicast.c | 738 struct rdma_ah_attr *ah_attr) in ib_init_ah_from_mcmember() argument 755 memset(ah_attr, 0, sizeof(*ah_attr)); in ib_init_ah_from_mcmember() 756 ah_attr->type = rdma_ah_find_type(device, port_num); in ib_init_ah_from_mcmember() 758 rdma_ah_set_dlid(ah_attr, be16_to_cpu(rec->mlid)); in ib_init_ah_from_mcmember() 759 rdma_ah_set_sl(ah_attr, rec->sl); in ib_init_ah_from_mcmember() 760 rdma_ah_set_port_num(ah_attr, port_num); in ib_init_ah_from_mcmember() 761 rdma_ah_set_static_rate(ah_attr, rec->rate); in ib_init_ah_from_mcmember() 762 rdma_move_grh_sgid_attr(ah_attr, &rec->mgid, in ib_init_ah_from_mcmember()
|
| /Linux-v5.4/drivers/infiniband/hw/qib/ |
| D | qib_ud.c | 58 struct rdma_ah_attr *ah_attr; in qib_ud_loopback() local 84 ah_attr = rvt_get_swqe_ah_attr(swqe); in qib_ud_loopback() 95 lid = ppd->lid | (rdma_ah_get_path_bits(ah_attr) & in qib_ud_loopback() 98 rdma_ah_get_sl(ah_attr), in qib_ud_loopback() 101 cpu_to_be16(rdma_ah_get_dlid(ah_attr))); in qib_ud_loopback() 161 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) { in qib_ud_loopback() 163 const struct ib_global_route *grd = rdma_ah_read_grh(ah_attr); in qib_ud_loopback() 208 wc.slid = ppd->lid | (rdma_ah_get_path_bits(ah_attr) & in qib_ud_loopback() 210 wc.sl = rdma_ah_get_sl(ah_attr); in qib_ud_loopback() 211 wc.dlid_path_bits = rdma_ah_get_dlid(ah_attr) & ((1 << ppd->lmc) - 1); in qib_ud_loopback() [all …]
|
| /Linux-v5.4/drivers/infiniband/hw/hfi1/ |
| D | ud.c | 79 struct rdma_ah_attr *ah_attr; in ud_loopback() local 108 ah_attr = rvt_get_swqe_ah_attr(swqe); in ud_loopback() 114 u8 sc5 = ibp->sl_to_sc[rdma_ah_get_sl(ah_attr)]; in ud_loopback() 117 slid = ppd->lid | (rdma_ah_get_path_bits(ah_attr) & in ud_loopback() 123 rdma_ah_get_sl(ah_attr), in ud_loopback() 125 slid, rdma_ah_get_dlid(ah_attr)); in ud_loopback() 185 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) { in ud_loopback() 187 struct ib_global_route grd = *(rdma_ah_read_grh(ah_attr)); in ud_loopback() 249 wc.slid = (ppd->lid | (rdma_ah_get_path_bits(ah_attr) & in ud_loopback() 254 wc.sl = rdma_ah_get_sl(ah_attr); in ud_loopback() [all …]
|
| /Linux-v5.4/drivers/infiniband/hw/mthca/ |
| D | mthca_av.c | 155 struct rdma_ah_attr *ah_attr, in mthca_create_ah() argument 200 (rdma_ah_get_port_num(ah_attr) << 24)); in mthca_create_ah() 201 av->g_slid = rdma_ah_get_path_bits(ah_attr); in mthca_create_ah() 202 av->dlid = cpu_to_be16(rdma_ah_get_dlid(ah_attr)); in mthca_create_ah() 204 mthca_get_rate(dev, rdma_ah_get_static_rate(ah_attr), in mthca_create_ah() 205 rdma_ah_get_port_num(ah_attr)); in mthca_create_ah() 206 av->sl_tclass_flowlabel = cpu_to_be32(rdma_ah_get_sl(ah_attr) << 28); in mthca_create_ah() 207 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) { in mthca_create_ah() 208 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in mthca_create_ah() 211 av->gid_index = (rdma_ah_get_port_num(ah_attr) - 1) * in mthca_create_ah()
|
| D | mthca_mad.c | 79 struct rdma_ah_attr ah_attr; in update_sm_ah() local 85 memset(&ah_attr, 0, sizeof ah_attr); in update_sm_ah() 86 ah_attr.type = rdma_ah_find_type(&dev->ib_dev, port_num); in update_sm_ah() 87 rdma_ah_set_dlid(&ah_attr, lid); in update_sm_ah() 88 rdma_ah_set_sl(&ah_attr, sl); in update_sm_ah() 89 rdma_ah_set_port_num(&ah_attr, port_num); in update_sm_ah() 92 &ah_attr, 0); in update_sm_ah()
|
| D | mthca_qp.c | 398 struct rdma_ah_attr *ah_attr, in to_rdma_ah_attr() argument 403 memset(ah_attr, 0, sizeof(*ah_attr)); in to_rdma_ah_attr() 407 ah_attr->type = rdma_ah_find_type(&dev->ib_dev, port_num); in to_rdma_ah_attr() 408 rdma_ah_set_port_num(ah_attr, port_num); in to_rdma_ah_attr() 410 rdma_ah_set_dlid(ah_attr, be16_to_cpu(path->rlid)); in to_rdma_ah_attr() 411 rdma_ah_set_sl(ah_attr, be32_to_cpu(path->sl_tclass_flowlabel) >> 28); in to_rdma_ah_attr() 412 rdma_ah_set_path_bits(ah_attr, path->g_mylmc & 0x7f); in to_rdma_ah_attr() 413 rdma_ah_set_static_rate(ah_attr, in to_rdma_ah_attr() 420 rdma_ah_set_grh(ah_attr, NULL, in to_rdma_ah_attr() 426 rdma_ah_set_dgid_raw(ah_attr, path->rgid); in to_rdma_ah_attr() [all …]
|
| /Linux-v5.4/drivers/infiniband/hw/ocrdma/ |
| D | ocrdma_ah.h | 54 int ocrdma_create_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr, u32 flags, 57 int ocrdma_query_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr);
|
| D | ocrdma.h | 530 struct rdma_ah_attr *ah_attr, u8 *mac_addr) in ocrdma_resolve_dmac() argument 534 memcpy(&in6, rdma_ah_read_grh(ah_attr)->dgid.raw, sizeof(in6)); in ocrdma_resolve_dmac() 540 memcpy(mac_addr, ah_attr->roce.dmac, ETH_ALEN); in ocrdma_resolve_dmac()
|
| /Linux-v5.4/drivers/infiniband/ulp/opa_vnic/ |
| D | opa_vnic_vema.c | 736 struct rdma_ah_attr ah_attr; in opa_vnic_vema_send_trap() local 762 memset(&ah_attr, 0, sizeof(ah_attr)); in opa_vnic_vema_send_trap() 763 ah_attr.type = rdma_ah_find_type(ibp, port->port_num); in opa_vnic_vema_send_trap() 764 rdma_ah_set_sl(&ah_attr, in opa_vnic_vema_send_trap() 766 rdma_ah_set_port_num(&ah_attr, port->port_num); in opa_vnic_vema_send_trap() 779 rdma_ah_set_dlid(&ah_attr, trap_lid); in opa_vnic_vema_send_trap() 780 ah = rdma_create_ah(port->mad_agent->qp->pd, &ah_attr, 0); in opa_vnic_vema_send_trap() 784 rdma_ah_get_dlid(&ah_attr), rdma_ah_get_sl(&ah_attr), in opa_vnic_vema_send_trap() 785 rdma_ah_get_port_num(&ah_attr)); in opa_vnic_vema_send_trap()
|
| /Linux-v5.4/drivers/infiniband/hw/vmw_pvrdma/ |
| D | pvrdma_verbs.c | 512 int pvrdma_create_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr, in pvrdma_create_ah() argument 518 u8 port_num = rdma_ah_get_port_num(ah_attr); in pvrdma_create_ah() 520 if (!(rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH)) in pvrdma_create_ah() 523 grh = rdma_ah_read_grh(ah_attr); in pvrdma_create_ah() 524 if ((ah_attr->type != RDMA_AH_ATTR_TYPE_ROCE) || in pvrdma_create_ah() 532 ah->av.src_path_bits = rdma_ah_get_path_bits(ah_attr); in pvrdma_create_ah() 539 memcpy(ah->av.dmac, ah_attr->roce.dmac, ETH_ALEN); in pvrdma_create_ah()
|
| D | pvrdma_verbs.h | 359 struct pvrdma_ah_attr ah_attr; member 417 int pvrdma_create_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr, u32 flags,
|
| /Linux-v5.4/drivers/infiniband/hw/bnxt_re/ |
| D | ib_verbs.h | 166 int bnxt_re_create_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr, u32 flags, 168 int bnxt_re_modify_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr); 169 int bnxt_re_query_ah(struct ib_ah *ah, struct rdma_ah_attr *ah_attr);
|
| D | ib_verbs.c | 652 int bnxt_re_create_ah(struct ib_ah *ib_ah, struct rdma_ah_attr *ah_attr, in bnxt_re_create_ah() argument 657 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in bnxt_re_create_ah() 664 if (!(rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH)) { in bnxt_re_create_ah() 685 ah->qplib_ah.sl = rdma_ah_get_sl(ah_attr); in bnxt_re_create_ah() 692 memcpy(ah->qplib_ah.dmac, ah_attr->roce.dmac, ETH_ALEN); in bnxt_re_create_ah() 717 int bnxt_re_modify_ah(struct ib_ah *ib_ah, struct rdma_ah_attr *ah_attr) in bnxt_re_modify_ah() argument 722 int bnxt_re_query_ah(struct ib_ah *ib_ah, struct rdma_ah_attr *ah_attr) in bnxt_re_query_ah() argument 726 ah_attr->type = ib_ah->type; in bnxt_re_query_ah() 727 rdma_ah_set_sl(ah_attr, ah->qplib_ah.sl); in bnxt_re_query_ah() 728 memcpy(ah_attr->roce.dmac, ah->qplib_ah.dmac, ETH_ALEN); in bnxt_re_query_ah() [all …]
|
| /Linux-v5.4/net/smc/ |
| D | smc_ib.c | 70 qp_attr.ah_attr.type = RDMA_AH_ATTR_TYPE_ROCE; in smc_ib_modify_qp_rtr() 71 rdma_ah_set_port_num(&qp_attr.ah_attr, lnk->ibport); in smc_ib_modify_qp_rtr() 72 rdma_ah_set_grh(&qp_attr.ah_attr, NULL, 0, lnk->sgid_index, 1, 0); in smc_ib_modify_qp_rtr() 73 rdma_ah_set_dgid_raw(&qp_attr.ah_attr, lnk->peer_gid); in smc_ib_modify_qp_rtr() 74 memcpy(&qp_attr.ah_attr.roce.dmac, lnk->peer_mac, in smc_ib_modify_qp_rtr()
|
| /Linux-v5.4/drivers/infiniband/hw/qedr/ |
| D | qedr.h | 500 struct rdma_ah_attr *ah_attr, u8 *mac_addr) in qedr_get_dmac() argument 504 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in qedr_get_dmac() 514 dmac = rdma_ah_retrieve_dmac(ah_attr); in qedr_get_dmac()
|