Skip to content

Commit 002619c

Browse files
committed
Merge tag 'drm-xe-next-fixes-2025-05-23' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next
Driver Changes: - Fix a SLPC debugfs NULL pointer dereference (Aradhya) - Fix an arbitrary value sysfs read return (Aradhya) Signed-off-by: Dave Airlie <[email protected]> From: Thomas Hellstrom <[email protected]> Link: https://lore.kernel.org/r/aDAxCgfm7HJbrchD@fedora
2 parents 73230ff + 879ede5 commit 002619c

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

drivers/gpu/drm/xe/xe_device_sysfs.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ auto_link_downgrade_status_show(struct device *dev, struct device_attribute *att
124124
{
125125
struct pci_dev *pdev = to_pci_dev(dev);
126126
struct xe_device *xe = pdev_to_xe_device(pdev);
127-
u32 val;
127+
/* default the auto_link_downgrade status to 0 */
128+
u32 val = 0;
128129
int ret;
129130

130131
xe_pm_runtime_get(xe);

drivers/gpu/drm/xe/xe_guc_debugfs.c

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,23 +113,34 @@ static const struct drm_info_list vf_safe_debugfs_list[] = {
113113
{ "guc_ctb", .show = guc_debugfs_show, .data = guc_ctb },
114114
};
115115

116+
/* For GuC debugfs files that require the SLPC support */
117+
static const struct drm_info_list slpc_debugfs_list[] = {
118+
{ "guc_pc", .show = guc_debugfs_show, .data = guc_pc },
119+
};
120+
116121
/* everything else should be added here */
117122
static const struct drm_info_list pf_only_debugfs_list[] = {
118123
{ "guc_log", .show = guc_debugfs_show, .data = guc_log },
119124
{ "guc_log_dmesg", .show = guc_debugfs_show, .data = guc_log_dmesg },
120-
{ "guc_pc", .show = guc_debugfs_show, .data = guc_pc },
121125
};
122126

123127
void xe_guc_debugfs_register(struct xe_guc *guc, struct dentry *parent)
124128
{
125-
struct drm_minor *minor = guc_to_xe(guc)->drm.primary;
129+
struct xe_device *xe = guc_to_xe(guc);
130+
struct drm_minor *minor = xe->drm.primary;
126131

127132
drm_debugfs_create_files(vf_safe_debugfs_list,
128133
ARRAY_SIZE(vf_safe_debugfs_list),
129134
parent, minor);
130135

131-
if (!IS_SRIOV_VF(guc_to_xe(guc)))
136+
if (!IS_SRIOV_VF(xe)) {
132137
drm_debugfs_create_files(pf_only_debugfs_list,
133138
ARRAY_SIZE(pf_only_debugfs_list),
134139
parent, minor);
140+
141+
if (!xe->info.skip_guc_pc)
142+
drm_debugfs_create_files(slpc_debugfs_list,
143+
ARRAY_SIZE(slpc_debugfs_list),
144+
parent, minor);
145+
}
135146
}

0 commit comments

Comments
 (0)