Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/xe: Move xe_device_sysfs_init() to xe_device_probe()

Since xe_device_sysfs_init() exposes device specific attributes, a better
place for it is xe_device_probe().

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Riana Tauro <riana.tauro@intel.com>
Link: https://lore.kernel.org/r/20250506054835.3395220-2-raag.jadav@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

authored by

Raag Jadav and committed by
Rodrigo Vivi
f3e875b3 432cd94e

+13 -11
+5
drivers/gpu/drm/xe/xe_device.c
··· 26 26 #include "xe_bo_evict.h" 27 27 #include "xe_debugfs.h" 28 28 #include "xe_devcoredump.h" 29 + #include "xe_device_sysfs.h" 29 30 #include "xe_dma_buf.h" 30 31 #include "xe_drm_client.h" 31 32 #include "xe_drv.h" ··· 913 912 goto err_unregister_display; 914 913 915 914 err = xe_pmu_register(&xe->pmu); 915 + if (err) 916 + goto err_unregister_display; 917 + 918 + err = xe_device_sysfs_init(xe); 916 919 if (err) 917 920 goto err_unregister_display; 918 921
+7 -4
drivers/gpu/drm/xe/xe_device_sysfs.c
··· 67 67 { 68 68 struct xe_device *xe = arg; 69 69 70 - sysfs_remove_file(&xe->drm.dev->kobj, &dev_attr_vram_d3cold_threshold.attr); 70 + if (xe->d3cold.capable) 71 + sysfs_remove_file(&xe->drm.dev->kobj, &dev_attr_vram_d3cold_threshold.attr); 71 72 } 72 73 73 74 int xe_device_sysfs_init(struct xe_device *xe) ··· 76 75 struct device *dev = xe->drm.dev; 77 76 int ret; 78 77 79 - ret = sysfs_create_file(&dev->kobj, &dev_attr_vram_d3cold_threshold.attr); 80 - if (ret) 81 - return ret; 78 + if (xe->d3cold.capable) { 79 + ret = sysfs_create_file(&dev->kobj, &dev_attr_vram_d3cold_threshold.attr); 80 + if (ret) 81 + return ret; 82 + } 82 83 83 84 return devm_add_action_or_reset(dev, xe_device_sysfs_fini, xe); 84 85 }
+1 -7
drivers/gpu/drm/xe/xe_pm.c
··· 16 16 #include "xe_bo.h" 17 17 #include "xe_bo_evict.h" 18 18 #include "xe_device.h" 19 - #include "xe_device_sysfs.h" 20 19 #include "xe_ggtt.h" 21 20 #include "xe_gt.h" 22 21 #include "xe_guc.h" ··· 272 273 if (err) 273 274 return err; 274 275 276 + xe->d3cold.capable = xe_pm_pci_d3cold_capable(xe); 275 277 return 0; 276 278 } 277 279 ALLOW_ERROR_INJECTION(xe_pm_init_early, ERRNO); /* See xe_pci_probe() */ ··· 344 344 if (!xe_device_uc_enabled(xe)) 345 345 return 0; 346 346 347 - xe->d3cold.capable = xe_pm_pci_d3cold_capable(xe); 348 - 349 347 if (xe->d3cold.capable) { 350 - err = xe_device_sysfs_init(xe); 351 - if (err) 352 - goto err_unregister; 353 - 354 348 vram_threshold = vram_threshold_value(xe); 355 349 err = xe_pm_set_vram_threshold(xe, vram_threshold); 356 350 if (err)