Lines Matching refs:func_cap
447 struct mlx4_func_cap *func_cap) in mlx4_QUERY_FUNC_CAP() argument
479 func_cap->flags = field; in mlx4_QUERY_FUNC_CAP()
480 quotas = !!(func_cap->flags & QUERY_FUNC_CAP_FLAG_QUOTAS); in mlx4_QUERY_FUNC_CAP()
483 func_cap->num_ports = field; in mlx4_QUERY_FUNC_CAP()
486 func_cap->pf_context_behaviour = size; in mlx4_QUERY_FUNC_CAP()
490 func_cap->qp_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
493 func_cap->srq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
496 func_cap->cq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
499 func_cap->mpt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
502 func_cap->mtt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
505 func_cap->mcg_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
509 func_cap->qp_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
512 func_cap->srq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
515 func_cap->cq_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
518 func_cap->mpt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
521 func_cap->mtt_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
524 func_cap->mcg_quota = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
527 func_cap->max_eq = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
530 func_cap->reserved_eq = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
532 if (func_cap->flags & QUERY_FUNC_CAP_FLAG_RESD_LKEY) { in mlx4_QUERY_FUNC_CAP()
534 func_cap->reserved_lkey = size; in mlx4_QUERY_FUNC_CAP()
536 func_cap->reserved_lkey = 0; in mlx4_QUERY_FUNC_CAP()
539 func_cap->extra_flags = 0; in mlx4_QUERY_FUNC_CAP()
544 if (func_cap->flags & QUERY_FUNC_CAP_FLAG_VALID_MAILBOX) { in mlx4_QUERY_FUNC_CAP()
547 func_cap->extra_flags |= MLX4_QUERY_FUNC_FLAGS_BF_RES_QP; in mlx4_QUERY_FUNC_CAP()
549 func_cap->extra_flags |= MLX4_QUERY_FUNC_FLAGS_A0_RES_QP; in mlx4_QUERY_FUNC_CAP()
561 MLX4_GET(func_cap->flags1, outbox, QUERY_FUNC_CAP_FLAGS1_OFFSET); in mlx4_QUERY_FUNC_CAP()
563 if (func_cap->flags1 & QUERY_FUNC_CAP_FLAGS1_FORCE_VLAN) { in mlx4_QUERY_FUNC_CAP()
569 if (func_cap->flags1 & QUERY_FUNC_CAP_FLAGS1_FORCE_MAC) { in mlx4_QUERY_FUNC_CAP()
584 func_cap->physical_port = field; in mlx4_QUERY_FUNC_CAP()
585 if (func_cap->physical_port != gen_or_port) { in mlx4_QUERY_FUNC_CAP()
590 if (func_cap->flags1 & QUERY_FUNC_CAP_VF_ENABLE_QP0) { in mlx4_QUERY_FUNC_CAP()
592 func_cap->qp0_qkey = qkey; in mlx4_QUERY_FUNC_CAP()
594 func_cap->qp0_qkey = 0; in mlx4_QUERY_FUNC_CAP()
598 func_cap->qp0_tunnel_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
601 func_cap->qp0_proxy_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
604 func_cap->qp1_tunnel_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
607 func_cap->qp1_proxy_qpn = size & 0xFFFFFF; in mlx4_QUERY_FUNC_CAP()
609 if (func_cap->flags1 & QUERY_FUNC_CAP_FLAGS1_NIC_INFO) in mlx4_QUERY_FUNC_CAP()
610 MLX4_GET(func_cap->phys_port_id, outbox, in mlx4_QUERY_FUNC_CAP()
614 func_cap->flags |= (field & QUERY_FUNC_CAP_PHV_BIT); in mlx4_QUERY_FUNC_CAP()
2821 struct mlx4_func_cap func_cap; in get_phv_bit() local
2823 memset(&func_cap, 0, sizeof(func_cap)); in get_phv_bit()
2824 err = mlx4_QUERY_FUNC_CAP(dev, port, &func_cap); in get_phv_bit()
2826 *phv = func_cap.flags & QUERY_FUNC_CAP_PHV_BIT; in get_phv_bit()