Lines Matching refs:func_cap
437 struct mlx4_func_cap *func_cap) in mlx4_QUERY_FUNC_CAP() argument
469 func_cap->flags = field; in mlx4_QUERY_FUNC_CAP()
470 quotas = !!(func_cap->flags & QUERY_FUNC_CAP_FLAG_QUOTAS); in mlx4_QUERY_FUNC_CAP()
473 func_cap->num_ports = field; in mlx4_QUERY_FUNC_CAP()
476 func_cap->pf_context_behaviour = size; in mlx4_QUERY_FUNC_CAP()
480 func_cap->qp_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
483 func_cap->srq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
486 func_cap->cq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
489 func_cap->mpt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
492 func_cap->mtt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
495 func_cap->mcg_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
499 func_cap->qp_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
502 func_cap->srq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
505 func_cap->cq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
508 func_cap->mpt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
511 func_cap->mtt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
514 func_cap->mcg_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
517 func_cap->max_eq = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
520 func_cap->reserved_eq = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
522 if (func_cap->flags & QUERY_FUNC_CAP_FLAG_RESD_LKEY) { in mlx4_QUERY_FUNC_CAP()
524 func_cap->reserved_lkey = size; in mlx4_QUERY_FUNC_CAP()
526 func_cap->reserved_lkey = 0; in mlx4_QUERY_FUNC_CAP()
529 func_cap->extra_flags = 0; in mlx4_QUERY_FUNC_CAP()
534 if (func_cap->flags & QUERY_FUNC_CAP_FLAG_VALID_MAILBOX) { in mlx4_QUERY_FUNC_CAP()
537 func_cap->extra_flags |= MLX4_QUERY_FUNC_FLAGS_BF_RES_QP; in mlx4_QUERY_FUNC_CAP()
539 func_cap->extra_flags |= MLX4_QUERY_FUNC_FLAGS_A0_RES_QP; in mlx4_QUERY_FUNC_CAP()
551 MLX4_GET(func_cap->flags1, outbox, QUERY_FUNC_CAP_FLAGS1_OFFSET); in mlx4_QUERY_FUNC_CAP()
553 if (func_cap->flags1 & QUERY_FUNC_CAP_FLAGS1_FORCE_VLAN) { in mlx4_QUERY_FUNC_CAP()
559 if (func_cap->flags1 & QUERY_FUNC_CAP_FLAGS1_FORCE_MAC) { in mlx4_QUERY_FUNC_CAP()
574 func_cap->physical_port = field; in mlx4_QUERY_FUNC_CAP()
575 if (func_cap->physical_port != gen_or_port) { in mlx4_QUERY_FUNC_CAP()
580 if (func_cap->flags1 & QUERY_FUNC_CAP_VF_ENABLE_QP0) { in mlx4_QUERY_FUNC_CAP()
582 func_cap->qp0_qkey = qkey; in mlx4_QUERY_FUNC_CAP()
584 func_cap->qp0_qkey = 0; in mlx4_QUERY_FUNC_CAP()
588 func_cap->qp0_tunnel_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
591 func_cap->qp0_proxy_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
594 func_cap->qp1_tunnel_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
597 func_cap->qp1_proxy_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
599 if (func_cap->flags1 & QUERY_FUNC_CAP_FLAGS1_NIC_INFO) in mlx4_QUERY_FUNC_CAP()
600 MLX4_GET(func_cap->phys_port_id, outbox, in mlx4_QUERY_FUNC_CAP()