1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2023-2024 Intel Corporation
4 */
5
6#ifndef _XE_GT_SRIOV_PF_TYPES_H_
7#define _XE_GT_SRIOV_PF_TYPES_H_
8
9#include <linux/types.h>
10
11#include "xe_gt_sriov_pf_config_types.h"
12#include "xe_gt_sriov_pf_policy_types.h"
13
14/**
15 * struct xe_gt_sriov_metadata - GT level per-VF metadata.
16 */
17struct xe_gt_sriov_metadata {
18	/** @config: per-VF provisioning data. */
19	struct xe_gt_sriov_config config;
20};
21
22/**
23 * struct xe_gt_sriov_pf - GT level PF virtualization data.
24 * @policy: policy data.
25 * @spare: PF-only provisioning configuration.
26 * @vfs: metadata for all VFs.
27 */
28struct xe_gt_sriov_pf {
29	struct xe_gt_sriov_pf_policy policy;
30	struct xe_gt_sriov_spare_config spare;
31	struct xe_gt_sriov_metadata *vfs;
32};
33
34#endif
35