1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2023-2025 Intel Corporation
4 */
5
6#ifndef _XE_SRIOV_VF_TYPES_H_
7#define _XE_SRIOV_VF_TYPES_H_
8
9#include <linux/types.h>
10#include <linux/workqueue_types.h>
11
12#include "xe_sriov_vf_ccs_types.h"
13
14/**
15 * struct xe_sriov_vf_relay_version - PF ABI version details.
16 */
17struct xe_sriov_vf_relay_version {
18 /** @major: major version. */
19 u16 major;
20 /** @minor: minor version. */
21 u16 minor;
22};
23
24/**
25 * struct xe_device_vf - Xe Virtual Function related data
26 *
27 * The data in this structure is valid only if driver is running in the
28 * @XE_SRIOV_MODE_VF mode.
29 */
30struct xe_device_vf {
31 /** @pf_version: negotiated VF/PF ABI version. */
32 struct xe_sriov_vf_relay_version pf_version;
33
34 /** @migration: VF Migration state data */
35 struct {
36 /**
37 * @migration.disabled: flag indicating if migration support
38 * was turned off due to missing prerequisites
39 */
40 bool disabled;
41 } migration;
42
43 /** @ccs: VF CCS state data */
44 struct xe_sriov_vf_ccs ccs;
45};
46
47#endif
48

source code of linux/drivers/gpu/drm/xe/xe_sriov_vf_types.h