Commit 0dfc7306 authored by Michal Wajdeczko's avatar Michal Wajdeczko
Browse files

drm/xe/configfs: Always return consistent max_vfs value



The max_vfs parameter used by the Xe driver has its default value
definition, but it could be altered by the module parameter or by
the device specific configfs attribute.

To avoid mistakes or code duplication, always rely on the configfs
helper (or stub), which will provide necessary fallback if needed.

Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: default avatarPiotr Piórkowski <piotr.piorkowski@intel.com>
Acked-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patch.msgid.link/20260121214218.2817-4-michal.wajdeczko@intel.com
parent 56dfa9fc
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@

#include "instructions/xe_mi_commands.h"
#include "xe_configfs.h"
#include "xe_defaults.h"
#include "xe_gt_types.h"
#include "xe_hw_engine_types.h"
#include "xe_module.h"
@@ -280,7 +281,7 @@ static const struct xe_config_device device_defaults = {
	.survivability_mode = false,
	.enable_psmi = false,
	.sriov = {
		.max_vfs = UINT_MAX,
		.max_vfs = XE_DEFAULT_MAX_VFS,
	},
};

+7 −1
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
#include <linux/types.h>

#include "xe_hw_engine_types.h"
#include "xe_module.h"

struct pci_dev;

@@ -41,7 +42,12 @@ static inline u32 xe_configfs_get_ctx_restore_mid_bb(struct pci_dev *pdev, enum
						     const u32 **cs) { return 0; }
static inline u32 xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev, enum xe_engine_class,
						      const u32 **cs) { return 0; }
static inline unsigned int xe_configfs_get_max_vfs(struct pci_dev *pdev) { return UINT_MAX; }
#ifdef CONFIG_PCI_IOV
static inline unsigned int xe_configfs_get_max_vfs(struct pci_dev *pdev)
{
	return xe_modparam.max_vfs;
}
#endif
#endif

#endif
+1 −3
Original line number Diff line number Diff line
@@ -22,9 +22,7 @@

static unsigned int wanted_max_vfs(struct xe_device *xe)
{
	if (IS_ENABLED(CONFIG_CONFIGFS_FS))
	return xe_configfs_get_max_vfs(to_pci_dev(xe->drm.dev));
	return xe_modparam.max_vfs;
}

static int pf_reduce_totalvfs(struct xe_device *xe, int limit)