Lines Matching full:props
286 struct ib_port_attr *props) in mlx5_query_port_roce() argument
297 memset(props, 0, sizeof(*props)); in mlx5_query_port_roce()
299 /* Possible bad flows are checked before filling out props so in case in mlx5_query_port_roce()
311 translate_eth_ext_proto_oper(eth_prot_oper, &props->active_speed, in mlx5_query_port_roce()
312 &props->active_width); in mlx5_query_port_roce()
314 translate_eth_proto_oper(eth_prot_oper, &props->active_speed, in mlx5_query_port_roce()
315 &props->active_width); in mlx5_query_port_roce()
317 props->port_cap_flags |= IB_PORT_CM_SUP; in mlx5_query_port_roce()
318 props->port_cap_flags |= IB_PORT_IP_BASED_GIDS; in mlx5_query_port_roce()
320 props->gid_tbl_len = MLX5_CAP_ROCE(dev->mdev, in mlx5_query_port_roce()
322 props->max_mtu = IB_MTU_4096; in mlx5_query_port_roce()
323 props->max_msg_sz = 1 << MLX5_CAP_GEN(dev->mdev, log_max_msg); in mlx5_query_port_roce()
324 props->pkey_tbl_len = 1; in mlx5_query_port_roce()
325 props->state = IB_PORT_DOWN; in mlx5_query_port_roce()
326 props->phys_state = IB_PORT_PHYS_STATE_DISABLED; in mlx5_query_port_roce()
329 props->qkey_viol_cntr = qkey_viol_cntr; in mlx5_query_port_roce()
337 props->state = IB_PORT_ACTIVE; in mlx5_query_port_roce()
338 props->phys_state = IB_PORT_PHYS_STATE_LINK_UP; in mlx5_query_port_roce()
345 props->active_mtu = min(props->max_mtu, ndev_ib_mtu); in mlx5_query_port_roce()
500 struct ib_device_attr *props) in get_atomic_caps() argument
515 props->atomic_cap = IB_ATOMIC_HCA; in get_atomic_caps()
517 props->atomic_cap = IB_ATOMIC_NONE; in get_atomic_caps()
639 struct ib_device_attr *props, in mlx5_ib_query_device() argument
662 memset(props, 0, sizeof(*props)); in mlx5_ib_query_device()
664 &props->sys_image_guid); in mlx5_ib_query_device()
668 err = mlx5_query_max_pkeys(ibdev, &props->max_pkeys); in mlx5_ib_query_device()
672 err = mlx5_query_vendor_id(ibdev, &props->vendor_id); in mlx5_ib_query_device()
676 props->fw_ver = ((u64)fw_rev_maj(dev->mdev) << 32) | in mlx5_ib_query_device()
679 props->device_cap_flags = IB_DEVICE_CHANGE_PHY_PORT | in mlx5_ib_query_device()
686 props->device_cap_flags |= IB_DEVICE_BAD_PKEY_CNTR; in mlx5_ib_query_device()
688 props->device_cap_flags |= IB_DEVICE_BAD_QKEY_CNTR; in mlx5_ib_query_device()
690 props->device_cap_flags |= IB_DEVICE_AUTO_PATH_MIG; in mlx5_ib_query_device()
692 props->device_cap_flags |= IB_DEVICE_XRC; in mlx5_ib_query_device()
694 props->device_cap_flags |= IB_DEVICE_MEM_WINDOW | in mlx5_ib_query_device()
696 props->max_mw = 1 << MLX5_CAP_GEN(mdev, log_max_mkey); in mlx5_ib_query_device()
698 props->device_cap_flags |= IB_DEVICE_SG_GAPS_REG; in mlx5_ib_query_device()
700 props->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS; in mlx5_ib_query_device()
702 props->device_cap_flags |= IB_DEVICE_SIGNATURE_HANDOVER; in mlx5_ib_query_device()
704 props->sig_prot_cap = IB_PROT_T10DIF_TYPE_1 | in mlx5_ib_query_device()
707 props->sig_guard_cap = IB_GUARD_T10DIF_CRC | in mlx5_ib_query_device()
711 props->device_cap_flags |= IB_DEVICE_BLOCK_MULTICAST_LOOPBACK; in mlx5_ib_query_device()
715 props->device_cap_flags |= IB_DEVICE_RAW_IP_CSUM; in mlx5_ib_query_device()
749 props->device_cap_flags |= IB_DEVICE_UD_IP_CSUM; in mlx5_ib_query_device()
750 props->device_cap_flags |= IB_DEVICE_UD_TSO; in mlx5_ib_query_device()
755 props->device_cap_flags |= IB_DEVICE_RAW_SCATTER_FCS; in mlx5_ib_query_device()
758 props->device_cap_flags |= IB_DEVICE_MANAGED_FLOW_STEERING; in mlx5_ib_query_device()
760 props->vendor_part_id = mdev->pdev->device; in mlx5_ib_query_device()
761 props->hw_ver = mdev->pdev->revision; in mlx5_ib_query_device()
763 props->max_mr_size = ~0ull; in mlx5_ib_query_device()
764 props->page_size_cap = ~(min_page_size - 1); in mlx5_ib_query_device()
765 props->max_qp = 1 << MLX5_CAP_GEN(mdev, log_max_qp); in mlx5_ib_query_device()
766 props->max_qp_wr = 1 << MLX5_CAP_GEN(mdev, log_max_qp_sz); in mlx5_ib_query_device()
773 props->max_sge = min(max_rq_sg, max_sq_sg); in mlx5_ib_query_device()
774 props->max_sge_rd = MLX5_MAX_SGE_RD; in mlx5_ib_query_device()
775 props->max_cq = 1 << MLX5_CAP_GEN(mdev, log_max_cq); in mlx5_ib_query_device()
776 props->max_cqe = (1 << MLX5_CAP_GEN(mdev, log_max_cq_sz)) - 1; in mlx5_ib_query_device()
777 props->max_mr = 1 << MLX5_CAP_GEN(mdev, log_max_mkey); in mlx5_ib_query_device()
778 props->max_pd = 1 << MLX5_CAP_GEN(mdev, log_max_pd); in mlx5_ib_query_device()
779 props->max_qp_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_req_qp); in mlx5_ib_query_device()
780 props->max_qp_init_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_res_qp); in mlx5_ib_query_device()
781 props->max_srq = 1 << MLX5_CAP_GEN(mdev, log_max_srq); in mlx5_ib_query_device()
782 props->max_srq_wr = (1 << MLX5_CAP_GEN(mdev, log_max_srq_sz)) - 1; in mlx5_ib_query_device()
783 props->local_ca_ack_delay = MLX5_CAP_GEN(mdev, local_ca_ack_delay); in mlx5_ib_query_device()
784 props->max_res_rd_atom = props->max_qp_rd_atom * props->max_qp; in mlx5_ib_query_device()
785 props->max_srq_sge = max_rq_sg - 1; in mlx5_ib_query_device()
786 props->max_fast_reg_page_list_len = in mlx5_ib_query_device()
788 get_atomic_caps(dev, props); in mlx5_ib_query_device()
789 props->masked_atomic_cap = IB_ATOMIC_NONE; in mlx5_ib_query_device()
790 props->max_mcast_grp = 1 << MLX5_CAP_GEN(mdev, log_max_mcg); in mlx5_ib_query_device()
791 props->max_mcast_qp_attach = MLX5_CAP_GEN(mdev, max_qp_mcg); in mlx5_ib_query_device()
792 props->max_total_mcast_qp_attach = props->max_mcast_qp_attach * in mlx5_ib_query_device()
793 props->max_mcast_grp; in mlx5_ib_query_device()
794 props->max_map_per_fmr = INT_MAX; /* no limit in ConnectIB */ in mlx5_ib_query_device()
795 props->hca_core_clock = MLX5_CAP_GEN(mdev, device_frequency_khz); in mlx5_ib_query_device()
796 props->timestamp_mask = 0x7FFFFFFFFFFFFFFFULL; in mlx5_ib_query_device()
800 props->device_cap_flags |= IB_DEVICE_ON_DEMAND_PAGING; in mlx5_ib_query_device()
801 props->odp_caps = dev->odp_caps; in mlx5_ib_query_device()
805 props->device_cap_flags |= IB_DEVICE_CROSS_CHANNEL; in mlx5_ib_query_device()
808 props->device_cap_flags |= IB_DEVICE_VIRTUAL_FUNCTION; in mlx5_ib_query_device()
812 props->rss_caps.max_rwq_indirection_tables = in mlx5_ib_query_device()
814 props->rss_caps.max_rwq_indirection_table_size = in mlx5_ib_query_device()
816 props->rss_caps.supported_qpts = 1 << IB_QPT_RAW_PACKET; in mlx5_ib_query_device()
817 props->max_wq_type_rq = in mlx5_ib_query_device()
912 struct ib_port_attr *props) in mlx5_query_hca_port() argument
932 memset(props, 0, sizeof(*props)); in mlx5_query_hca_port()
940 props->lid = MLX5_GET(hca_vport_context, ctx, lid); in mlx5_query_hca_port()
941 props->lmc = MLX5_GET(hca_vport_context, ctx, lmc); in mlx5_query_hca_port()
942 props->sm_lid = MLX5_GET(hca_vport_context, ctx, sm_lid); in mlx5_query_hca_port()
943 props->sm_sl = MLX5_GET(hca_vport_context, ctx, sm_sl); in mlx5_query_hca_port()
944 props->state = MLX5_GET(hca_vport_context, ctx, vport_state); in mlx5_query_hca_port()
945 props->phys_state = MLX5_GET(hca_vport_context, ctx, in mlx5_query_hca_port()
947 props->port_cap_flags = MLX5_GET(hca_vport_context, ctx, cap_mask1); in mlx5_query_hca_port()
948 props->gid_tbl_len = mlx5_get_gid_table_len(MLX5_CAP_GEN(mdev, gid_table_size)); in mlx5_query_hca_port()
949 props->max_msg_sz = 1 << MLX5_CAP_GEN(mdev, log_max_msg); in mlx5_query_hca_port()
950 props->pkey_tbl_len = mlx5_to_sw_pkey_sz(MLX5_CAP_GEN(mdev, pkey_table_size)); in mlx5_query_hca_port()
951 props->bad_pkey_cntr = MLX5_GET(hca_vport_context, ctx, in mlx5_query_hca_port()
953 props->qkey_viol_cntr = MLX5_GET(hca_vport_context, ctx, in mlx5_query_hca_port()
955 props->subnet_timeout = MLX5_GET(hca_vport_context, ctx, in mlx5_query_hca_port()
957 props->init_type_reply = MLX5_GET(hca_vport_context, ctx, in mlx5_query_hca_port()
959 props->grh_required = MLX5_GET(hca_vport_context, ctx, grh_required); in mlx5_query_hca_port()
968 &props->active_width); in mlx5_query_hca_port()
972 props->active_speed = (u8)ptys->ib_proto_oper; in mlx5_query_hca_port()
979 props->max_mtu = pmtu->max_mtu; in mlx5_query_hca_port()
980 props->active_mtu = pmtu->oper_mtu; in mlx5_query_hca_port()
989 &props->max_vl_num); in mlx5_query_hca_port()
998 struct ib_port_attr *props) in mlx5_ib_query_port() argument
1002 return mlx5_query_mad_ifc_port(ibdev, port, props); in mlx5_ib_query_port()
1005 return mlx5_query_hca_port(ibdev, port, props); in mlx5_ib_query_port()
1008 return mlx5_query_port_roce(ibdev, port, props); in mlx5_ib_query_port()
1054 struct ib_device_modify *props) in mlx5_ib_modify_device() argument
1071 memcpy(&in, props->node_desc, IB_DEVICE_NODE_DESC_MAX); in mlx5_ib_modify_device()
1077 memcpy(ibdev->node_desc, props->node_desc, IB_DEVICE_NODE_DESC_MAX); in mlx5_ib_modify_device()
1083 struct ib_port_modify *props) in mlx5_ib_modify_port() argument
1104 tmp = (attr.port_cap_flags | props->set_port_cap_mask) & in mlx5_ib_modify_port()
1105 ~props->clr_port_cap_mask; in mlx5_ib_modify_port()