Lines Matching full:caps
103 int dmfs = dev->caps.steering_mode == MLX4_STEERING_MODE_DEVICE_MANAGED; in check_flow_steering_support()
112 (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_DMFS_IPOIB)) && in check_flow_steering_support()
114 (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_FS_EN)); in check_flow_steering_support()
249 if (ibdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) in mlx4_ib_update_gids()
485 props->fw_ver = dev->dev->caps.fw_ver; in mlx4_ib_query_device()
491 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR) in mlx4_ib_query_device()
493 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BAD_QKEY_CNTR) in mlx4_ib_query_device()
495 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_APM && have_ib_ports) in mlx4_ib_query_device()
497 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_UD_AV_PORT) in mlx4_ib_query_device()
499 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_IPOIB_CSUM) in mlx4_ib_query_device()
501 if (dev->dev->caps.max_gso_sz && in mlx4_ib_query_device()
503 (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_BLH)) in mlx4_ib_query_device()
505 if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_RESERVED_LKEY) in mlx4_ib_query_device()
507 if ((dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_LOCAL_INV) && in mlx4_ib_query_device()
508 (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_REMOTE_INV) && in mlx4_ib_query_device()
509 (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_FAST_REG_WR)) in mlx4_ib_query_device()
511 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC) in mlx4_ib_query_device()
513 if (dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW) in mlx4_ib_query_device()
515 if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) { in mlx4_ib_query_device()
516 if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_WIN_TYPE_2B) in mlx4_ib_query_device()
533 props->page_size_cap = dev->dev->caps.page_size_cap; in mlx4_ib_query_device()
535 props->max_qp_wr = dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE; in mlx4_ib_query_device()
536 props->max_sge = min(dev->dev->caps.max_sq_sg, in mlx4_ib_query_device()
537 dev->dev->caps.max_rq_sg); in mlx4_ib_query_device()
540 props->max_cqe = dev->dev->caps.max_cqes; in mlx4_ib_query_device()
542 props->max_pd = dev->dev->caps.num_pds - dev->dev->caps.reserved_pds; in mlx4_ib_query_device()
543 props->max_qp_rd_atom = dev->dev->caps.max_qp_dest_rdma; in mlx4_ib_query_device()
544 props->max_qp_init_rd_atom = dev->dev->caps.max_qp_init_rdma; in mlx4_ib_query_device()
547 props->max_srq_wr = dev->dev->caps.max_srq_wqes - 1; in mlx4_ib_query_device()
548 props->max_srq_sge = dev->dev->caps.max_srq_sge; in mlx4_ib_query_device()
550 props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay; in mlx4_ib_query_device()
551 props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ? in mlx4_ib_query_device()
554 props->max_pkeys = dev->dev->caps.pkey_table_len[1]; in mlx4_ib_query_device()
555 props->max_mcast_grp = dev->dev->caps.num_mgms + dev->dev->caps.num_amgms; in mlx4_ib_query_device()
556 props->max_mcast_qp_attach = dev->dev->caps.num_qp_per_mgm; in mlx4_ib_query_device()
559 props->max_map_per_fmr = dev->dev->caps.max_fmr_maps; in mlx4_ib_query_device()
560 props->hca_core_clock = dev->dev->caps.hca_core_clock * 1000UL; in mlx4_ib_query_device()
588 return dev->caps.port_mask[port_num] == MLX4_PORT_TYPE_IB ? in mlx4_ib_port_link_layer()
629 props->gid_tbl_len = to_mdev(ibdev)->dev->caps.gid_table_len[port]; in ib_link_query_port()
630 props->max_msg_sz = to_mdev(ibdev)->dev->caps.max_msg_sz; in ib_link_query_port()
631 props->pkey_tbl_len = to_mdev(ibdev)->dev->caps.pkey_table_len[port]; in ib_link_query_port()
714 props->gid_tbl_len = mdev->dev->caps.gid_table_len[port]; in eth_link_query_port()
715 props->max_msg_sz = mdev->dev->caps.max_msg_sz; in eth_link_query_port()
895 for (i = 1; i <= mdev->dev->caps.num_ports; i++) { in mlx4_init_sl2vl_tbl()
896 if (mdev->dev->caps.port_type[i] == MLX4_PORT_TYPE_ETH) in mlx4_init_sl2vl_tbl()
1012 u8 is_eth = mdev->dev->caps.port_type[port] == MLX4_PORT_TYPE_ETH; in mlx4_ib_modify_port()
1056 resp_v3.qp_tab_size = dev->dev->caps.num_qps; in mlx4_ib_alloc_ucontext()
1057 resp_v3.bf_reg_size = dev->dev->caps.bf_reg_size; in mlx4_ib_alloc_ucontext()
1058 resp_v3.bf_regs_per_page = dev->dev->caps.bf_regs_per_page; in mlx4_ib_alloc_ucontext()
1060 resp.dev_caps = dev->dev->caps.userspace_caps; in mlx4_ib_alloc_ucontext()
1061 resp.qp_tab_size = dev->dev->caps.num_qps; in mlx4_ib_alloc_ucontext()
1062 resp.bf_reg_size = dev->dev->caps.bf_reg_size; in mlx4_ib_alloc_ucontext()
1063 resp.bf_regs_per_page = dev->dev->caps.bf_regs_per_page; in mlx4_ib_alloc_ucontext()
1064 resp.cqe_size = dev->dev->caps.cqe_size; in mlx4_ib_alloc_ucontext()
1107 if (dev->dev->caps.bf_reg_size == 0) in mlx4_ib_mmap()
1112 dev->dev->caps.num_uars, in mlx4_ib_mmap()
1168 if (!(to_mdev(ibdev)->dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC)) in mlx4_ib_alloc_xrcd()
1572 if (dev->caps.tunnel_offload_mode != MLX4_TUNNEL_OFFLOAD_MODE_VXLAN || in mlx4_ib_tunnel_steer_add()
1573 dev->caps.dmfs_high_steer_mode == MLX4_STEERING_DMFS_A0_STATIC) in mlx4_ib_tunnel_steer_add()
1595 if (!(dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_DMFS_UC_MC_SNIFFER) || in mlx4_ib_add_dont_trap_rule()
1596 (dev->caps.dmfs_high_steer_mode == MLX4_STEERING_DMFS_A0_STATIC) || in mlx4_ib_add_dont_trap_rule()
1797 if (mdev->dev->caps.steering_mode == in mlx4_ib_mcg_attach()
1876 if (mdev->dev->caps.steering_mode == in mlx4_ib_mcg_detach()
2092 if (ibdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_DIAG_PER_PORT) in __mlx4_ib_alloc_diag_counters()
2128 if (ibdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_DIAG_PER_PORT) { in mlx4_ib_fill_diag_counters()
2148 bool per_port = !!(ibdev->dev->caps.flags2 & in mlx4_ib_alloc_diag_counters()
2302 for (port = 1; port <= ibdev->dev->caps.num_ports; ++port) { in init_pkeys()
2316 for (port = 1; port <= ibdev->dev->caps.num_ports; ++port) { in init_pkeys()
2330 ibdev->eq_table = kcalloc(dev->caps.num_comp_vectors, in mlx4_ib_alloc_eqs()
2335 for (i = 1; i <= dev->caps.num_ports; i++) { in mlx4_ib_alloc_eqs()
2349 for (i = eq; i < dev->caps.num_comp_vectors; in mlx4_ib_alloc_eqs()
2393 if (mdev->dev->caps.flags & MLX4_DEV_CAP_FLAG_IBOE) in mlx4_port_immutable()
2395 if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) in mlx4_port_immutable()
2411 (int) (dev->dev->caps.fw_ver >> 32), in get_fw_ver_str()
2412 (int) (dev->dev->caps.fw_ver >> 16) & 0xffff, in get_fw_ver_str()
2413 (int) dev->dev->caps.fw_ver & 0xffff); in get_fw_ver_str()
2467 ibdev->ib_dev.local_dma_lkey = dev->caps.reserved_lkey; in mlx4_ib_add()
2471 ibdev->ib_dev.num_comp_vectors = dev->caps.num_comp_vectors; in mlx4_ib_add()
2477 if (dev->caps.userspace_caps) in mlx4_ib_add()
2559 if (dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW || in mlx4_ib_add()
2560 dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) { in mlx4_ib_add()
2569 if (dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC) { in mlx4_ib_add()
2690 for (j = 1; j <= ibdev->dev->caps.num_ports; j++) in mlx4_ib_add()
2691 atomic64_set(&iboe->mac[j - 1], ibdev->dev->caps.def_mac[j]); in mlx4_ib_add()
2705 if (dev->caps.flags & MLX4_DEV_CAP_FLAG_IBOE || in mlx4_ib_add()
2706 dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) { in mlx4_ib_add()
2715 if (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) { in mlx4_ib_add()
2905 ports = bitmap_weight(actv_ports.ports, dev->caps.num_ports); in do_slave_init()
2906 first_port = find_first_bit(actv_ports.ports, dev->caps.num_ports); in do_slave_init()
3118 !(ibdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_SL_TO_VL_CHANGE_EVENT)) in mlx4_ib_event()