1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2025 Intel Corporation
4 */
5#ifndef _XE_CONFIGFS_H_
6#define _XE_CONFIGFS_H_
7
8#include <linux/limits.h>
9#include <linux/types.h>
10
11#include <xe_hw_engine_types.h>
12
13struct pci_dev;
14
15#if IS_ENABLED(CONFIG_CONFIGFS_FS)
16int xe_configfs_init(void);
17void xe_configfs_exit(void);
18void xe_configfs_check_device(struct pci_dev *pdev);
19bool xe_configfs_get_survivability_mode(struct pci_dev *pdev);
20bool xe_configfs_primary_gt_allowed(struct pci_dev *pdev);
21bool xe_configfs_media_gt_allowed(struct pci_dev *pdev);
22u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev);
23bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev);
24u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev *pdev, enum xe_engine_class,
25 const u32 **cs);
26u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev, enum xe_engine_class,
27 const u32 **cs);
28#ifdef CONFIG_PCI_IOV
29unsigned int xe_configfs_get_max_vfs(struct pci_dev *pdev);
30#endif
31#else
32static inline int xe_configfs_init(void) { return 0; }
33static inline void xe_configfs_exit(void) { }
34static inline void xe_configfs_check_device(struct pci_dev *pdev) { }
35static inline bool xe_configfs_get_survivability_mode(struct pci_dev *pdev) { return false; }
36static inline bool xe_configfs_primary_gt_allowed(struct pci_dev *pdev) { return true; }
37static inline bool xe_configfs_media_gt_allowed(struct pci_dev *pdev) { return true; }
38static inline u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev) { return U64_MAX; }
39static inline bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev) { return false; }
40static inline u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev *pdev, enum xe_engine_class,
41 const u32 **cs) { return 0; }
42static inline u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev, enum xe_engine_class,
43 const u32 **cs) { return 0; }
44static inline unsigned int xe_configfs_get_max_vfs(struct pci_dev *pdev) { return UINT_MAX; }
45#endif
46
47#endif
48

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