#include <linux/debugfs.h>
#include <drm/drm_print.h>
#include <drm/drm_debugfs.h>
#include "xe_bo.h"
#include "xe_debugfs.h"
#include "xe_device.h"
#include "xe_gt.h"
#include "xe_gt_debugfs.h"
#include "xe_gt_sriov_pf_config.h"
#include "xe_gt_sriov_pf_control.h"
#include "xe_gt_sriov_pf_debugfs.h"
#include "xe_gt_sriov_pf_helpers.h"
#include "xe_gt_sriov_pf_monitor.h"
#include "xe_gt_sriov_pf_policy.h"
#include "xe_gt_sriov_pf_service.h"
#include "xe_pm.h"
static void *extract_priv(struct dentry *d)
{ … }
static struct xe_gt *extract_gt(struct dentry *d)
{ … }
static unsigned int extract_vfid(struct dentry *d)
{ … }
static const struct drm_info_list pf_info[] = …;
#define DEFINE_SRIOV_GT_POLICY_DEBUGFS_ATTRIBUTE(POLICY, TYPE, FORMAT) …
DEFINE_SRIOV_GT_POLICY_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_POLICY_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_POLICY_DEBUGFS_ATTRIBUTE(…);
static void pf_add_policy_attrs(struct xe_gt *gt, struct dentry *parent)
{ … }
#define DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(CONFIG, TYPE, FORMAT) …
DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(…);
DEFINE_SRIOV_GT_CONFIG_DEBUGFS_ATTRIBUTE(…);
static int set_threshold(void *data, u64 val, enum xe_guc_klv_threshold_index index)
{ … }
static int get_threshold(void *data, u64 *val, enum xe_guc_klv_threshold_index index)
{ … }
#define DEFINE_SRIOV_GT_THRESHOLD_DEBUGFS_ATTRIBUTE(THRESHOLD, INDEX) …
#define define_threshold_attribute …
MAKE_XE_GUC_KLV_THRESHOLDS_SET(…)
#undef define_threshold_attribute
static void pf_add_config_attrs(struct xe_gt *gt, struct dentry *parent, unsigned int vfid)
{ … }
static const struct { … } control_cmds[] = …;
static ssize_t control_write(struct file *file, const char __user *buf, size_t count, loff_t *pos)
{ … }
static ssize_t control_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
{ … }
static const struct file_operations control_ops = …;
void xe_gt_sriov_pf_debugfs_register(struct xe_gt *gt, struct dentry *root)
{ … }