Lines Matching defs:props
466 struct ib_port_attr *props)
491 /* Possible bad flows are checked before filling out props so in case
506 props->active_width = IB_WIDTH_4X;
507 props->active_speed = IB_SPEED_QDR;
509 translate_eth_proto_oper(eth_prot_oper, &props->active_speed,
510 &props->active_width, ext);
512 props->port_cap_flags |= IB_PORT_CM_SUP;
513 props->ip_gids = true;
515 props->gid_tbl_len = MLX5_CAP_ROCE(dev->mdev,
517 props->max_mtu = IB_MTU_4096;
518 props->max_msg_sz = 1 << MLX5_CAP_GEN(dev->mdev, log_max_msg);
519 props->pkey_tbl_len = 1;
520 props->state = IB_PORT_DOWN;
521 props->phys_state = IB_PORT_PHYS_STATE_DISABLED;
524 props->qkey_viol_cntr = qkey_viol_cntr;
546 props->state = IB_PORT_ACTIVE;
547 props->phys_state = IB_PORT_PHYS_STATE_LINK_UP;
554 props->active_mtu = min(props->max_mtu, ndev_ib_mtu);
651 struct ib_device_attr *props)
665 props->atomic_cap = IB_ATOMIC_HCA;
667 props->atomic_cap = IB_ATOMIC_NONE;
672 struct ib_device_attr *props)
676 get_atomic_caps(dev, atomic_size_qp, props);
797 struct ib_device_attr *props,
822 memset(props, 0, sizeof(*props));
824 &props->sys_image_guid);
828 err = mlx5_query_max_pkeys(ibdev, &props->max_pkeys);
832 err = mlx5_query_vendor_id(ibdev, &props->vendor_id);
836 props->fw_ver = ((u64)fw_rev_maj(dev->mdev) << 32) |
839 props->device_cap_flags = IB_DEVICE_CHANGE_PHY_PORT |
845 props->device_cap_flags |= IB_DEVICE_BAD_PKEY_CNTR;
847 props->device_cap_flags |= IB_DEVICE_BAD_QKEY_CNTR;
849 props->device_cap_flags |= IB_DEVICE_AUTO_PATH_MIG;
851 props->device_cap_flags |= IB_DEVICE_XRC;
853 props->device_cap_flags |= IB_DEVICE_MEM_WINDOW |
855 props->max_mw = 1 << MLX5_CAP_GEN(mdev, log_max_mkey);
857 props->device_cap_flags |= IB_DEVICE_SG_GAPS_REG;
861 props->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS;
863 props->device_cap_flags |= IB_DEVICE_INTEGRITY_HANDOVER;
865 props->sig_prot_cap = IB_PROT_T10DIF_TYPE_1 |
868 props->sig_guard_cap = IB_GUARD_T10DIF_CRC |
872 props->device_cap_flags |= IB_DEVICE_BLOCK_MULTICAST_LOOPBACK;
877 props->device_cap_flags |= IB_DEVICE_RAW_IP_CSUM;
878 props->raw_packet_caps |= IB_RAW_PACKET_CAP_IP_CSUM;
882 props->raw_packet_caps |=
922 props->device_cap_flags |= IB_DEVICE_UD_IP_CSUM;
923 props->device_cap_flags |= IB_DEVICE_UD_TSO;
929 props->raw_packet_caps |= IB_RAW_PACKET_CAP_DELAY_DROP;
933 props->device_cap_flags |= IB_DEVICE_UD_IP_CSUM;
939 props->device_cap_flags |= IB_DEVICE_RAW_SCATTER_FCS;
940 props->raw_packet_caps |= IB_RAW_PACKET_CAP_SCATTER_FCS;
944 props->max_dm_size =
949 props->device_cap_flags |= IB_DEVICE_MANAGED_FLOW_STEERING;
952 props->device_cap_flags |= IB_DEVICE_PCI_WRITE_END_PADDING;
954 props->vendor_part_id = mdev->pdev->device;
955 props->hw_ver = mdev->pdev->revision;
957 props->max_mr_size = ~0ull;
958 props->page_size_cap = ~(min_page_size - 1);
959 props->max_qp = 1 << MLX5_CAP_GEN(mdev, log_max_qp);
960 props->max_qp_wr = 1 << MLX5_CAP_GEN(mdev, log_max_qp_sz);
967 props->max_send_sge = max_sq_sg;
968 props->max_recv_sge = max_rq_sg;
969 props->max_sge_rd = MLX5_MAX_SGE_RD;
970 props->max_cq = 1 << MLX5_CAP_GEN(mdev, log_max_cq);
971 props->max_cqe = (1 << MLX5_CAP_GEN(mdev, log_max_cq_sz)) - 1;
972 props->max_mr = 1 << MLX5_CAP_GEN(mdev, log_max_mkey);
973 props->max_pd = 1 << MLX5_CAP_GEN(mdev, log_max_pd);
974 props->max_qp_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_req_qp);
975 props->max_qp_init_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_res_qp);
976 props->max_srq = 1 << MLX5_CAP_GEN(mdev, log_max_srq);
977 props->max_srq_wr = (1 << MLX5_CAP_GEN(mdev, log_max_srq_sz)) - 1;
978 props->local_ca_ack_delay = MLX5_CAP_GEN(mdev, local_ca_ack_delay);
979 props->max_res_rd_atom = props->max_qp_rd_atom * props->max_qp;
980 props->max_srq_sge = max_rq_sg - 1;
981 props->max_fast_reg_page_list_len =
983 props->max_pi_fast_reg_page_list_len =
984 props->max_fast_reg_page_list_len / 2;
985 props->max_sgl_rd =
987 get_atomic_caps_qp(dev, props);
988 props->masked_atomic_cap = IB_ATOMIC_NONE;
989 props->max_mcast_grp = 1 << MLX5_CAP_GEN(mdev, log_max_mcg);
990 props->max_mcast_qp_attach = MLX5_CAP_GEN(mdev, max_qp_mcg);
991 props->max_total_mcast_qp_attach = props->max_mcast_qp_attach *
992 props->max_mcast_grp;
993 props->max_ah = INT_MAX;
994 props->hca_core_clock = MLX5_CAP_GEN(mdev, device_frequency_khz);
995 props->timestamp_mask = 0x7FFFFFFFFFFFFFFFULL;
999 props->device_cap_flags |= IB_DEVICE_ON_DEMAND_PAGING;
1000 props->odp_caps = dev->odp_caps;
1005 props->odp_caps.per_transport_caps.rc_odp_caps &=
1008 props->odp_caps.per_transport_caps.uc_odp_caps &=
1011 props->odp_caps.per_transport_caps.ud_odp_caps &=
1014 props->odp_caps.per_transport_caps.xrc_odp_caps &=
1021 props->device_cap_flags |= IB_DEVICE_CROSS_CHANNEL;
1024 props->device_cap_flags |= IB_DEVICE_VIRTUAL_FUNCTION;
1028 props->rss_caps.max_rwq_indirection_tables =
1030 props->rss_caps.max_rwq_indirection_table_size =
1032 props->rss_caps.supported_qpts = 1 << IB_QPT_RAW_PACKET;
1033 props->max_wq_type_rq =
1038 props->tm_caps.max_num_tags =
1040 props->tm_caps.max_ops =
1042 props->tm_caps.max_sge = MLX5_TM_MAX_SGE;
1047 props->tm_caps.flags = IB_TM_CAP_RNDV_RC;
1048 props->tm_caps.max_rndv_hdr_size = MLX5_TM_MAX_RNDV_MSG_SIZE;
1052 props->cq_caps.max_cq_moderation_count =
1054 props->cq_caps.max_cq_moderation_period =
1282 struct ib_port_attr *props)
1299 /* props being zeroed by the caller, avoid zeroing it here */
1305 props->lid = rep->lid;
1306 props->lmc = rep->lmc;
1307 props->sm_lid = rep->sm_lid;
1308 props->sm_sl = rep->sm_sl;
1309 props->state = rep->vport_state;
1310 props->phys_state = rep->port_physical_state;
1311 props->port_cap_flags = rep->cap_mask1;
1312 props->gid_tbl_len = mlx5_get_gid_table_len(MLX5_CAP_GEN(mdev, gid_table_size));
1313 props->max_msg_sz = 1 << MLX5_CAP_GEN(mdev, log_max_msg);
1314 props->pkey_tbl_len = mlx5_to_sw_pkey_sz(MLX5_CAP_GEN(mdev, pkey_table_size));
1315 props->bad_pkey_cntr = rep->pkey_violation_counter;
1316 props->qkey_viol_cntr = rep->qkey_violation_counter;
1317 props->subnet_timeout = rep->subnet_timeout;
1318 props->init_type_reply = rep->init_type_reply;
1320 if (props->port_cap_flags & IB_PORT_CAP_MASK2_SUP)
1321 props->port_cap_flags2 = rep->cap_mask2;
1324 &props->active_speed, port);
1328 translate_active_width(ibdev, ib_link_width_oper, &props->active_width);
1332 props->max_mtu = mlx5_mtu_to_ib_mtu(max_mtu);
1336 props->active_mtu = mlx5_mtu_to_ib_mtu(oper_mtu);
1343 &props->max_vl_num);
1350 struct ib_port_attr *props)
1357 ret = mlx5_query_mad_ifc_port(ibdev, port, props);
1361 ret = mlx5_query_hca_port(ibdev, port, props);
1365 ret = mlx5_query_port_roce(ibdev, port, props);
1372 if (!ret && props) {
1389 props->gid_tbl_len -= count;
1395 struct ib_port_attr *props)
1402 ret = mlx5_query_port_roce(ibdev, port, props);
1403 if (ret || !props)
1407 props->gid_tbl_len = 0;
1474 struct ib_device_modify *props)
1491 memcpy(&in, props->node_desc, IB_DEVICE_NODE_DESC_MAX);
1497 memcpy(ibdev->node_desc, props->node_desc, IB_DEVICE_NODE_DESC_MAX);
1537 struct ib_port_modify *props)
1555 change_mask = props->clr_port_cap_mask | props->set_port_cap_mask;
1556 value = ~props->clr_port_cap_mask | props->set_port_cap_mask;
1566 tmp = (attr.port_cap_flags | props->set_port_cap_mask) &
1567 ~props->clr_port_cap_mask;