From: Stuart Summers <stuart.summers@intel.com>
Cc: intel-xe@lists.freedesktop.org, rodrigo.vivi@intel.com,
matthew.brost@intel.com, umesh.nerlige.ramappa@intel.com,
gustavo.sousa@intel.com, matthew.d.roper@intel.com,
daniele.ceraolospurio@intel.com, shuicheng.lin@intel.com,
Stuart Summers <stuart.summers@intel.com>
Subject: [PATCH 13/15] drm/xe: Migrate existing debug configfs entries to params infrastructure
Date: Mon, 5 Oct 2026 19:06:23 +0000 [thread overview]
Message-ID: <20261005190611.332940-30-stuart.summers@intel.com> (raw)
In-Reply-To: <20261005190611.332940-17-stuart.summers@intel.com>
Move the existing debug configfs entries whose semantics fit the
generic show/store template into the new parameter list.
Add validators for the guc_log_level and guc_log_target.
Add a custom getter for the guc_log_level to fall back to the modparam.
The new parameters are intentionally longer than the normal 80
character limit for readability.
Signed-off-by: Stuart Summers <stuart.summers@intel.com>
Assisted-by: LLM
---
drivers/gpu/drm/xe/xe_configfs.c | 19 +-
drivers/gpu/drm/xe/xe_configfs_debug.c | 282 +-----------------
drivers/gpu/drm/xe/xe_configfs_debug.h | 20 +-
drivers/gpu/drm/xe/xe_configfs_debug_params.c | 1 +
drivers/gpu/drm/xe/xe_configfs_debug_params.h | 22 +-
drivers/gpu/drm/xe/xe_configfs_types.h | 7 +-
drivers/gpu/drm/xe/xe_guc.c | 2 +-
drivers/gpu/drm/xe/xe_psmi.c | 2 +-
drivers/gpu/drm/xe/xe_rtp.c | 2 +-
9 files changed, 50 insertions(+), 307 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_configfs.c b/drivers/gpu/drm/xe/xe_configfs.c
index d09c97eb8120..f6da51614d4a 100644
--- a/drivers/gpu/drm/xe/xe_configfs.c
+++ b/drivers/gpu/drm/xe/xe_configfs.c
@@ -130,13 +130,9 @@ const struct xe_config_device xe_configfs_device_defaults = {
.survivability_mode = 0,
#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
.debug = {
- .engines_allowed = U64_MAX,
- .gt_types_allowed = U64_MAX,
- .guc_log_level = XE_GUC_LOG_LEVEL_UNSET,
- .guc_log_target = XE_DEFAULT_GUC_LOG_TARGET,
- .enable_multi_queue = true,
- .enable_psmi = false,
- .enable_vram_page_offline = true,
+ .params = {
+ XE_CONFIGFS_DEBUG_PARAMS_DEFAULTS
+ },
},
#endif
.sriov = {
@@ -580,11 +576,10 @@ static void dump_custom_dev_config(struct pci_dev *pdev,
#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
PRI_CUSTOM_ATTR("%llx", debug.engines_allowed);
PRI_CUSTOM_ATTR("%llx", debug.gt_types_allowed);
- PRI_CUSTOM_ATTR("%d", debug.guc_log_level);
- PRI_CUSTOM_ATTR("%d", debug.guc_log_target);
- PRI_CUSTOM_ATTR("%d", debug.enable_multi_queue);
- PRI_CUSTOM_ATTR("%d", debug.enable_psmi);
- PRI_CUSTOM_ATTR("%d", debug.enable_vram_page_offline);
+#define _XE_PARAM_DUMP(_T, _name, _def, _val, _vis, _get, _fallback) \
+ PRI_CUSTOM_ATTR(XE_PARAM_FMT_##_T, debug.params._name);
+ XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH(_XE_PARAM_DUMP)
+#undef _XE_PARAM_DUMP
#endif
PRI_CUSTOM_ATTR("%u", sriov.admin_only_pf);
diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.c b/drivers/gpu/drm/xe/xe_configfs_debug.c
index ff8e38ed717d..3524706bc654 100644
--- a/drivers/gpu/drm/xe/xe_configfs_debug.c
+++ b/drivers/gpu/drm/xe/xe_configfs_debug.c
@@ -817,278 +817,17 @@ static ssize_t gt_types_allowed_store(struct config_item *item, const char *page
return len;
}
-/**
- * xe_configfs_get_guc_log_level - get configfs guc_log_level setting
- * @pdev: pci device
- *
- * Returns the guc_log_level value configured via configfs. If the configfs
- * value is negative (the default is %XE_GUC_LOG_LEVEL_UNSET, -1), the value
- * of the ``guc_log_level`` module parameter is returned instead, allowing
- * the configfs entry to override the module parameter without affecting
- * users that rely solely on the module parameter.
- *
- * Return: GuC log level to use for this device.
- */
-int xe_configfs_get_guc_log_level(struct pci_dev *pdev)
-{
- struct xe_config_group_device *dev = find_device(pdev);
- int level = xe_modparam.guc_log_level;
-
- if (!dev)
- return level;
-
- scoped_guard(mutex, &dev->lock)
- if (dev->config.debug.guc_log_level >= 0)
- level = dev->config.debug.guc_log_level;
-
- config_group_put(&dev->group);
-
- return level;
-}
-
-static ssize_t guc_log_level_show(struct config_item *item, char *page)
-{
- struct xe_config_device *dev = xe_configfs_subgroup_to_device(item);
-
- return sprintf(page, "%d\n", dev->debug.guc_log_level);
-}
-
-static ssize_t guc_log_level_store(struct config_item *item, const char *page, size_t len)
-{
- struct xe_config_group_device *dev = xe_configfs_subgroup_to_group_device(item);
- int val;
- int ret;
-
- ret = kstrtoint(page, 0, &val);
- if (ret)
- return ret;
-
- if (val != XE_GUC_LOG_LEVEL_UNSET &&
- (val < 0 || val > GUC_LOG_LEVEL_MAX))
- return -EINVAL;
-
- guard(mutex)(&dev->lock);
- if (xe_configfs_is_bound(dev))
- return -EBUSY;
-
- dev->config.debug.guc_log_level = val;
-
- return len;
-}
-
-/**
- * xe_configfs_get_guc_log_target - get configfs GuC log target attribute
- * @pdev: pci device
- *
- * Return: guc_log_target attribute in configfs
- */
-u8 xe_configfs_get_guc_log_target(struct pci_dev *pdev)
-{
- struct xe_config_group_device *dev = find_device(pdev);
- u8 target;
-
- if (!dev)
- return xe_configfs_device_defaults.debug.guc_log_target;
-
- scoped_guard(mutex, &dev->lock)
- target = dev->config.debug.guc_log_target;
- config_group_put(&dev->group);
-
- return target;
-}
-
-static ssize_t guc_log_target_show(struct config_item *item, char *page)
-{
- struct xe_config_device *dev = xe_configfs_subgroup_to_device(item);
-
- return sprintf(page, "%d\n", dev->debug.guc_log_target);
-}
-
-static ssize_t guc_log_target_store(struct config_item *item, const char *page, size_t len)
-{
- struct xe_config_group_device *dev = xe_configfs_subgroup_to_group_device(item);
- u8 guc_log_target;
- int ret;
-
- ret = kstrtou8(page, 0, &guc_log_target);
- if (ret)
- return ret;
-
- if (guc_log_target > GUC_LOG_TARGET_MAX)
- return -EINVAL;
-
- guard(mutex)(&dev->lock);
- if (xe_configfs_is_bound(dev))
- return -EBUSY;
-
- dev->config.debug.guc_log_target = guc_log_target;
-
- return len;
-}
-
-/**
- * xe_configfs_get_enable_multi_queue - get configfs enable_multi_queue setting
- * @pdev: pci device
- *
- * Return: true if multi-queue is enabled for this device (the default),
- * false if it has been force-disabled via configfs.
- */
-bool xe_configfs_get_enable_multi_queue(struct pci_dev *pdev)
-{
- struct xe_config_group_device *dev = find_device(pdev);
- bool ret;
-
- if (!dev)
- return xe_configfs_device_defaults.debug.enable_multi_queue;
-
- scoped_guard(mutex, &dev->lock)
- ret = dev->config.debug.enable_multi_queue;
- config_group_put(&dev->group);
-
- return ret;
-}
-
-static ssize_t enable_multi_queue_show(struct config_item *item, char *page)
-{
- struct xe_config_device *dev = xe_configfs_subgroup_to_device(item);
-
- return sprintf(page, "%d\n", dev->debug.enable_multi_queue);
-}
-
-static ssize_t enable_multi_queue_store(struct config_item *item, const char *page, size_t len)
-{
- struct xe_config_group_device *dev = xe_configfs_subgroup_to_group_device(item);
- bool val;
- int ret;
-
- ret = kstrtobool(page, &val);
- if (ret)
- return ret;
-
- guard(mutex)(&dev->lock);
- if (xe_configfs_is_bound(dev))
- return -EBUSY;
-
- dev->config.debug.enable_multi_queue = val;
-
- return len;
-}
-
-/**
- * xe_configfs_get_psmi_enabled - get configfs enable_psmi setting
- * @pdev: pci device
- *
- * Return: enable_psmi setting in configfs
- */
-bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev)
-{
- struct xe_config_group_device *dev = find_device(pdev);
- bool ret;
-
- if (!dev)
- return false;
-
- scoped_guard(mutex, &dev->lock)
- ret = dev->config.debug.enable_psmi;
- config_group_put(&dev->group);
-
- return ret;
-}
-
-static ssize_t enable_psmi_show(struct config_item *item, char *page)
-{
- struct xe_config_device *dev = xe_configfs_subgroup_to_device(item);
-
- return sprintf(page, "%d\n", dev->debug.enable_psmi);
-}
-
-static ssize_t enable_psmi_store(struct config_item *item, const char *page, size_t len)
-{
- struct xe_config_group_device *dev = xe_configfs_subgroup_to_group_device(item);
- bool val;
- int ret;
-
- ret = kstrtobool(page, &val);
- if (ret)
- return ret;
-
- guard(mutex)(&dev->lock);
- if (xe_configfs_is_bound(dev))
- return -EBUSY;
-
- dev->config.debug.enable_psmi = val;
-
- return len;
-}
-
-/**
- * xe_configfs_get_enable_vram_page_offline - get configfs enable_vram_page_offline setting
- * @pdev: pci device
- *
- * Return: enable_vram_page_offline setting in configfs
- */
-bool xe_configfs_get_enable_vram_page_offline(struct pci_dev *pdev)
-{
- struct xe_config_group_device *dev = find_device(pdev);
- bool ret;
-
- if (!dev)
- return xe_configfs_device_defaults.debug.enable_vram_page_offline;
-
- scoped_guard(mutex, &dev->lock)
- ret = dev->config.debug.enable_vram_page_offline;
- config_group_put(&dev->group);
-
- return ret;
-}
-
-static ssize_t enable_vram_page_offline_show(struct config_item *item, char *page)
-{
- struct xe_config_device *dev = xe_configfs_subgroup_to_device(item);
-
- return sprintf(page, "%s\n", str_yes_no(dev->debug.enable_vram_page_offline));
-}
-
-static ssize_t enable_vram_page_offline_store(struct config_item *item,
- const char *page, size_t len)
-{
- struct xe_config_group_device *dev = xe_configfs_subgroup_to_group_device(item);
- bool val;
- int ret;
-
- ret = kstrtobool(page, &val);
- if (ret)
- return ret;
-
- guard(mutex)(&dev->lock);
- if (xe_configfs_is_bound(dev))
- return -EBUSY;
-
- dev->config.debug.enable_vram_page_offline = val;
-
- return len;
-}
-
CONFIGFS_ATTR(, ctx_restore_mid_bb);
CONFIGFS_ATTR(, ctx_restore_post_bb);
CONFIGFS_ATTR(, engines_allowed);
CONFIGFS_ATTR(, gt_types_allowed);
-CONFIGFS_ATTR(, guc_log_level);
-CONFIGFS_ATTR(, guc_log_target);
-CONFIGFS_ATTR(, enable_multi_queue);
-CONFIGFS_ATTR(, enable_psmi);
-CONFIGFS_ATTR(, enable_vram_page_offline);
static struct configfs_attribute *xe_configfs_debug_attrs[] = {
&attr_ctx_restore_mid_bb,
&attr_ctx_restore_post_bb,
&attr_engines_allowed,
&attr_gt_types_allowed,
- &attr_guc_log_level,
- &attr_guc_log_target,
- &attr_enable_multi_queue,
- &attr_enable_psmi,
- &attr_enable_vram_page_offline,
+ XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH(XE_PARAM_ATTR_PTR)
NULL,
};
@@ -1096,27 +835,32 @@ static struct configfs_attribute *xe_configfs_debug_attrs[] = {
* Per-parameter visibility predicates.
*
* XE_PARAM_VISIBLE_ALWAYS - attribute is always shown.
+ * XE_PARAM_VISIBLE_VRAM_PAGE_OFFLINE - only shown on dGFX Crescent Island.
*
* These macros are only evaluated here, where the platform descriptor is
* reachable. xe_configfs_debug_params.h treats them as opaque tokens.
*/
#define XE_PARAM_VISIBLE_ALWAYS(_item) \
(true)
+#define XE_PARAM_VISIBLE_VRAM_PAGE_OFFLINE(_item) \
+ (xe_configfs_subgroup_to_group_device(_item)->desc->is_dgfx && \
+ xe_configfs_subgroup_to_group_device(_item)->desc->platform == XE_CRESCENTISLAND)
static bool xe_configfs_debug_is_visible(struct config_item *item,
struct configfs_attribute *attr, int n)
{
- struct xe_config_group_device *dev;
-
- if (attr == &attr_enable_vram_page_offline) {
- dev = xe_configfs_to_group_device(item->ci_parent);
-
- return dev->desc->is_dgfx && dev->desc->platform == XE_CRESCENTISLAND;
- }
+#define _XE_PARAM_VIS_CHECK(_T, _name, _def, _val, _vis, _get, _fallback) \
+ if (attr == &xe_configfs_attr_##_name) \
+ return _vis(item);
+ XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH(_XE_PARAM_VIS_CHECK)
+#undef _XE_PARAM_VIS_CHECK
return true;
}
+#undef XE_PARAM_VISIBLE_ALWAYS
+#undef XE_PARAM_VISIBLE_VRAM_PAGE_OFFLINE
+
static struct configfs_group_operations xe_configfs_debug_group_ops = {
.is_visible = xe_configfs_debug_is_visible,
};
diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.h b/drivers/gpu/drm/xe/xe_configfs_debug.h
index d8e08d64a410..136d3fb679ff 100644
--- a/drivers/gpu/drm/xe/xe_configfs_debug.h
+++ b/drivers/gpu/drm/xe/xe_configfs_debug.h
@@ -7,7 +7,7 @@
#include <linux/types.h>
-#include "xe_defaults.h"
+#include "xe_configfs_debug_params.h"
#include "xe_hw_engine_types.h"
#include "xe_module.h"
@@ -26,11 +26,7 @@ ssize_t xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev,
u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev);
bool xe_configfs_primary_gt_allowed(struct pci_dev *pdev);
bool xe_configfs_media_gt_allowed(struct pci_dev *pdev);
-int xe_configfs_get_guc_log_level(struct pci_dev *pdev);
-u8 xe_configfs_get_guc_log_target(struct pci_dev *pdev);
-bool xe_configfs_get_enable_multi_queue(struct pci_dev *pdev);
-bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev);
-bool xe_configfs_get_enable_vram_page_offline(struct pci_dev *pdev);
+XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH(XE_PARAM_DECLARE_GETTER)
#else
/*
* Callers gate these accesses on CONFIG_DRM_XE_DEBUG, so when that's
@@ -49,17 +45,7 @@ static inline ssize_t xe_configfs_get_ctx_restore_post_bb(struct pci_dev *pdev,
static inline u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev) { return U64_MAX; }
static inline bool xe_configfs_primary_gt_allowed(struct pci_dev *pdev) { return true; }
static inline bool xe_configfs_media_gt_allowed(struct pci_dev *pdev) { return true; }
-static inline int xe_configfs_get_guc_log_level(struct pci_dev *pdev)
-{
- return xe_modparam.guc_log_level;
-}
-static inline u8 xe_configfs_get_guc_log_target(struct pci_dev *pdev)
-{
- return XE_DEFAULT_GUC_LOG_TARGET;
-}
-static inline bool xe_configfs_get_enable_multi_queue(struct pci_dev *pdev) { return true; }
-static inline bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev) { return false; }
-static inline bool xe_configfs_get_enable_vram_page_offline(struct pci_dev *pdev) { return true; }
+XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH(XE_PARAM_DECLARE_GETTER_STUB)
#endif
#endif /* _XE_CONFIGFS_DEBUG_H_ */
diff --git a/drivers/gpu/drm/xe/xe_configfs_debug_params.c b/drivers/gpu/drm/xe/xe_configfs_debug_params.c
index c28d2e4693f8..b85bd82c8c94 100644
--- a/drivers/gpu/drm/xe/xe_configfs_debug_params.c
+++ b/drivers/gpu/drm/xe/xe_configfs_debug_params.c
@@ -40,6 +40,7 @@
#include "xe_configfs_debug_params.h"
#include "xe_configfs.h"
+#include "xe_configfs_debug.h"
#define _XE_PARAM_DEFINE_OPS_NUMERIC(_T, _name, _kstrto, _fmt, _validator) \
static ssize_t _name##_show(struct config_item *item, char *page) \
diff --git a/drivers/gpu/drm/xe/xe_configfs_debug_params.h b/drivers/gpu/drm/xe/xe_configfs_debug_params.h
index 3ed7ed22961f..b469ae365aa1 100644
--- a/drivers/gpu/drm/xe/xe_configfs_debug_params.h
+++ b/drivers/gpu/drm/xe/xe_configfs_debug_params.h
@@ -10,6 +10,12 @@
#include <linux/errno.h>
#include <linux/types.h>
+#include "abi/guc_log_abi.h"
+#include "xe_defaults.h"
+#include "xe_guc_fwif.h"
+#include "xe_guc_log.h"
+#include "xe_module.h"
+
struct pci_dev;
/*
@@ -49,6 +55,12 @@ struct pci_dev;
*/
#define XE_PARAM_VALIDATE_NONE(_v) (0)
+#define XE_PARAM_VALIDATE_GUC_LOG_LEVEL(_v) \
+ (((_v) == XE_GUC_LOG_LEVEL_UNSET || \
+ ((_v) >= 0 && (_v) <= GUC_LOG_LEVEL_MAX)) ? 0 : -EINVAL)
+#define XE_PARAM_VALIDATE_GUC_LOG_TARGET(_v) \
+ (((_v) <= GUC_LOG_TARGET_MAX) ? 0 : -EINVAL)
+
/*
* Per-parameter getter helpers.
*
@@ -71,6 +83,10 @@ struct pci_dev;
*/
#define XE_PARAM_GETTER_READ(_dev, _name) ((_dev)->config.debug.params._name)
+#define XE_PARAM_GETTER_GUC_LOG_LEVEL(_dev, _name) \
+ ({ typeof((_dev)->config.debug.params._name) __v = (_dev)->config.debug.params._name; \
+ __v >= 0 ? __v : xe_modparam.guc_log_level; })
+
/**
* XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH - iterate over debug configfs params
* @param: function-like macro called as
@@ -106,7 +122,11 @@ struct pci_dev;
* at runtime if needed.
*/
#define XE_CONFIGFS_DEBUG_PARAMS_FOR_EACH(param) \
- /* No parameters yet - add entries above this line. */
+ param(int, guc_log_level, XE_GUC_LOG_LEVEL_UNSET, XE_PARAM_VALIDATE_GUC_LOG_LEVEL, XE_PARAM_VISIBLE_ALWAYS, XE_PARAM_GETTER_GUC_LOG_LEVEL, xe_modparam.guc_log_level) \
+ param(u8, guc_log_target, XE_DEFAULT_GUC_LOG_TARGET, XE_PARAM_VALIDATE_GUC_LOG_TARGET, XE_PARAM_VISIBLE_ALWAYS, XE_PARAM_GETTER_READ, XE_DEFAULT_GUC_LOG_TARGET) \
+ param(bool, enable_multi_queue, true, XE_PARAM_VALIDATE_NONE, XE_PARAM_VISIBLE_ALWAYS, XE_PARAM_GETTER_READ, true) \
+ param(bool, enable_psmi, false, XE_PARAM_VALIDATE_NONE, XE_PARAM_VISIBLE_ALWAYS, XE_PARAM_GETTER_READ, false) \
+ param(bool, enable_vram_page_offline, true, XE_PARAM_VALIDATE_NONE, XE_PARAM_VISIBLE_VRAM_PAGE_OFFLINE, XE_PARAM_GETTER_READ, true)
/* Generate the struct that backs all debug params in xe_config_device. */
#define _XE_PARAM_MEMBER(_T, _name, _def, _val, _vis, _get, _fallback) XE_PARAM_TYPE_##_T _name;
diff --git a/drivers/gpu/drm/xe/xe_configfs_types.h b/drivers/gpu/drm/xe/xe_configfs_types.h
index f9c71954114d..7cee4daabdb0 100644
--- a/drivers/gpu/drm/xe/xe_configfs_types.h
+++ b/drivers/gpu/drm/xe/xe_configfs_types.h
@@ -9,6 +9,7 @@
#include <linux/mutex.h>
#include <linux/types.h>
+#include "xe_configfs_debug_params.h"
#include "xe_hw_engine_types.h"
#include "xe_pci_types.h"
#include "xe_sriov_types.h"
@@ -40,11 +41,7 @@ struct xe_config_group_device {
struct wa_bb ctx_restore_post_bb[XE_ENGINE_CLASS_MAX];
u64 engines_allowed;
u64 gt_types_allowed;
- int guc_log_level;
- u8 guc_log_target;
- bool enable_multi_queue;
- bool enable_psmi;
- bool enable_vram_page_offline;
+ struct xe_configfs_debug_params params;
} debug;
#endif
struct {
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index 41ab68dab150..14e93dda0180 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -100,7 +100,7 @@ static u32 guc_ctl_feature_flags(struct xe_guc *guc)
if (!xe->info.skip_guc_pc)
flags |= GUC_CTL_ENABLE_SLPC;
- if (xe_configfs_get_psmi_enabled(to_pci_dev(xe->drm.dev)))
+ if (xe_configfs_get_enable_psmi(to_pci_dev(xe->drm.dev)))
flags |= GUC_CTL_ENABLE_PSMI_LOGGING;
if (xe_guc_using_main_gamctrl_queues(guc))
diff --git a/drivers/gpu/drm/xe/xe_psmi.c b/drivers/gpu/drm/xe/xe_psmi.c
index 59af3d145418..ff9a14949339 100644
--- a/drivers/gpu/drm/xe/xe_psmi.c
+++ b/drivers/gpu/drm/xe/xe_psmi.c
@@ -34,7 +34,7 @@
static bool psmi_enabled(struct xe_device *xe)
{
- return xe_configfs_get_psmi_enabled(to_pci_dev(xe->drm.dev));
+ return xe_configfs_get_enable_psmi(to_pci_dev(xe->drm.dev));
}
static void psmi_free_object(struct xe_bo *bo)
diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
index 62068189320f..3ead1eac93f5 100644
--- a/drivers/gpu/drm/xe/xe_rtp.c
+++ b/drivers/gpu/drm/xe/xe_rtp.c
@@ -450,7 +450,7 @@ bool xe_rtp_match_psmi_enabled(const struct xe_device *xe,
const struct xe_gt *gt,
const struct xe_hw_engine *hwe)
{
- return xe_configfs_get_psmi_enabled(to_pci_dev(xe->drm.dev));
+ return xe_configfs_get_enable_psmi(to_pci_dev(xe->drm.dev));
}
bool xe_rtp_match_gt_has_discontiguous_dss_groups(const struct xe_device *xe,
--
2.43.0
next prev parent reply other threads:[~2026-10-05 19:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 19:06 [PATCH 00/15] Add new debug infrastructure for configfs Stuart Summers
2026-10-05 19:06 ` [PATCH 01/15] drm/xe: Guard configfs attribute reads in getters Stuart Summers
2026-10-05 19:06 ` [PATCH 02/15] drm/xe/configfs: Fix out-of-bounds read in parse_wa_bb_lines() Stuart Summers
2026-10-05 19:06 ` [PATCH 03/15] drm/xe/configfs: Copy wa_bb out under the configfs lock Stuart Summers
2026-10-05 19:06 ` [PATCH 04/15] drm/xe: Invert vram_page_offline configfs attribute Stuart Summers
2026-10-05 19:06 ` [PATCH 05/15] drm/xe: Make survivability_mode configfs attribute a bitmap Stuart Summers
2026-10-05 19:06 ` [PATCH 06/15] drm/xe: Sort xe_config_device fields Stuart Summers
2026-10-05 19:06 ` [PATCH 07/15] drm/xe: Split out configfs data structures Stuart Summers
2026-10-05 19:06 ` [PATCH 08/15] drm/xe: Add a new debug focused configfs group Stuart Summers
2026-10-05 19:06 ` [PATCH 09/15] drm/xe: Move debug configfs entries to xe_configfs_debug.c Stuart Summers
2026-10-05 19:06 ` [PATCH 10/15] drm/xe/guc: Add configfs support for guc_log_level Stuart Summers
2026-10-05 19:06 ` [PATCH 11/15] drm/xe/guc: Add support for NPK as a GuC log target Stuart Summers
2026-10-05 19:06 ` [PATCH 12/15] drm/xe: Add infrastructure for debug configfs parameters Stuart Summers
2026-10-05 19:06 ` Stuart Summers [this message]
2026-10-05 19:06 ` [PATCH 14/15] drm/xe: Taint kernel when debug configfs parameters are set Stuart Summers
2026-10-05 19:06 ` [PATCH 15/15] drm/xe: Add enable_media module parameter Stuart Summers
2026-10-05 19:26 ` ✗ CI.checkpatch: warning for Add new debug infrastructure for configfs (rev9) Patchwork
2026-10-05 19:28 ` ✓ CI.KUnit: success " Patchwork
2026-10-05 20:05 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-10-05 20:34 ` [PATCH 00/15] Add new debug infrastructure for configfs Summers, Stuart
-- strict thread matches above, loose matches on Subject: below --
2026-10-05 22:06 Stuart Summers
2026-10-05 22:06 ` [PATCH 13/15] drm/xe: Migrate existing debug configfs entries to params infrastructure Stuart Summers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261005190611.332940-30-stuart.summers@intel.com \
--to=stuart.summers@intel.com \
--cc=daniele.ceraolospurio@intel.com \
--cc=gustavo.sousa@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=matthew.brost@intel.com \
--cc=matthew.d.roper@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=shuicheng.lin@intel.com \
--cc=umesh.nerlige.ramappa@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.