On Wed, Nov 12, 2025 at 02:11:42PM -0500, Rodrigo Vivi wrote: > On Wed, Nov 12, 2025 at 02:22:09PM +0100, Michał Winiarski wrote: > > In upcoming changes, SR-IOV VF migration data will be extended beyond > > GuC data and exported to userspace using VFIO interface (with a > > vendor-specific variant driver) and a device-level debugfs interface. > > Remove the GT-level debugfs. > > Perhaps this should be retained while we don't have the xe-vfio?
The series adds device-level debugfs, which let's us get the bitstream with all of the resources (GuC/MMIO/VRAM/GGTT), from all GTs. I don't think we need a per-GT control for only the GuC migration data. And if it's needed - it could be extracted from the full bitstream. Thanks, -Michał > > > > > Signed-off-by: Michał Winiarski <[email protected]> > > Reviewed-by: Michal Wajdeczko <[email protected]> > > --- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 47 --------------------- > > 1 file changed, 47 deletions(-) > > > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c > > b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c > > index 838beb7f6327f..5278ea4fd6552 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c > > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c > > @@ -327,9 +327,6 @@ static const struct { > > { "stop", xe_gt_sriov_pf_control_stop_vf }, > > { "pause", xe_gt_sriov_pf_control_pause_vf }, > > { "resume", xe_gt_sriov_pf_control_resume_vf }, > > -#ifdef CONFIG_DRM_XE_DEBUG_SRIOV > > - { "restore!", xe_gt_sriov_pf_migration_restore_guc_state }, > > -#endif > > }; > > > > static ssize_t control_write(struct file *file, const char __user *buf, > > size_t count, loff_t *pos) > > @@ -393,47 +390,6 @@ static const struct file_operations control_ops = { > > .llseek = default_llseek, > > }; > > > > -/* > > - * /sys/kernel/debug/dri/BDF/ > > - * ├── sriov > > - * : ├── vf1 > > - * : ├── tile0 > > - * : ├── gt0 > > - * : ├── guc_state > > - */ > > - > > -static ssize_t guc_state_read(struct file *file, char __user *buf, > > - size_t count, loff_t *pos) > > -{ > > - struct dentry *dent = file_dentry(file); > > - struct dentry *parent = dent->d_parent; > > - struct xe_gt *gt = extract_gt(parent); > > - unsigned int vfid = extract_vfid(parent); > > - > > - return xe_gt_sriov_pf_migration_read_guc_state(gt, vfid, buf, count, > > pos); > > -} > > - > > -static ssize_t guc_state_write(struct file *file, const char __user *buf, > > - size_t count, loff_t *pos) > > -{ > > - struct dentry *dent = file_dentry(file); > > - struct dentry *parent = dent->d_parent; > > - struct xe_gt *gt = extract_gt(parent); > > - unsigned int vfid = extract_vfid(parent); > > - > > - if (*pos) > > - return -EINVAL; > > - > > - return xe_gt_sriov_pf_migration_write_guc_state(gt, vfid, buf, count); > > -} > > - > > -static const struct file_operations guc_state_ops = { > > - .owner = THIS_MODULE, > > - .read = guc_state_read, > > - .write = guc_state_write, > > - .llseek = default_llseek, > > -}; > > - > > /* > > * /sys/kernel/debug/dri/BDF/ > > * ├── sriov > > @@ -568,9 +524,6 @@ static void pf_populate_gt(struct xe_gt *gt, struct > > dentry *dent, unsigned int v > > > > /* for testing/debugging purposes only! */ > > if (IS_ENABLED(CONFIG_DRM_XE_DEBUG)) { > > - debugfs_create_file("guc_state", > > - > > IS_ENABLED(CONFIG_DRM_XE_DEBUG_SRIOV) ? 0600 : 0400, > > - dent, NULL, &guc_state_ops); > > debugfs_create_file("config_blob", > > > > IS_ENABLED(CONFIG_DRM_XE_DEBUG_SRIOV) ? 0600 : 0400, > > dent, NULL, &config_blob_ops); > > -- > > 2.51.2 > >
