{ "guc_ctb", .show = guc_debugfs_show, .data = guc_ctb },
 };
 
+/* For GuC debugfs files that require the SLPC support */
+static const struct drm_info_list slpc_debugfs_list[] = {
+       { "guc_pc", .show = guc_debugfs_show, .data = guc_pc },
+};
+
 /* everything else should be added here */
 static const struct drm_info_list pf_only_debugfs_list[] = {
        { "guc_log", .show = guc_debugfs_show, .data = guc_log },
        { "guc_log_dmesg", .show = guc_debugfs_show, .data = guc_log_dmesg },
-       { "guc_pc", .show = guc_debugfs_show, .data = guc_pc },
 };
 
 void xe_guc_debugfs_register(struct xe_guc *guc, struct dentry *parent)
 {
-       struct drm_minor *minor = guc_to_xe(guc)->drm.primary;
+       struct xe_device *xe =  guc_to_xe(guc);
+       struct drm_minor *minor = xe->drm.primary;
 
        drm_debugfs_create_files(vf_safe_debugfs_list,
                                 ARRAY_SIZE(vf_safe_debugfs_list),
                                 parent, minor);
 
-       if (!IS_SRIOV_VF(guc_to_xe(guc)))
+       if (!IS_SRIOV_VF(xe)) {
                drm_debugfs_create_files(pf_only_debugfs_list,
                                         ARRAY_SIZE(pf_only_debugfs_list),
                                         parent, minor);
+
+               if (!xe->info.skip_guc_pc)
+                       drm_debugfs_create_files(slpc_debugfs_list,
+                                                ARRAY_SIZE(slpc_debugfs_list),
+                                                parent, minor);
+       }
 }