File tree Expand file tree Collapse file tree 3 files changed +13
-11
lines changed
Expand file tree Collapse file tree 3 files changed +13
-11
lines changed Original file line number Diff line number Diff line change 2626#include "xe_bo_evict.h"
2727#include "xe_debugfs.h"
2828#include "xe_devcoredump.h"
29+ #include "xe_device_sysfs.h"
2930#include "xe_dma_buf.h"
3031#include "xe_drm_client.h"
3132#include "xe_drv.h"
@@ -915,6 +916,10 @@ int xe_device_probe(struct xe_device *xe)
915916 if (err )
916917 goto err_unregister_display ;
917918
919+ err = xe_device_sysfs_init (xe );
920+ if (err )
921+ goto err_unregister_display ;
922+
918923 xe_debugfs_register (xe );
919924
920925 err = xe_hwmon_register (xe );
Original file line number Diff line number Diff line change @@ -67,17 +67,20 @@ static void xe_device_sysfs_fini(void *arg)
6767{
6868 struct xe_device * xe = arg ;
6969
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 );
7172}
7273
7374int xe_device_sysfs_init (struct xe_device * xe )
7475{
7576 struct device * dev = xe -> drm .dev ;
7677 int ret ;
7778
78- ret = sysfs_create_file (& dev -> kobj , & dev_attr_vram_d3cold_threshold .attr );
79- if (ret )
80- return ret ;
79+ if (xe -> d3cold .capable ) {
80+ ret = sysfs_create_file (& dev -> kobj , & dev_attr_vram_d3cold_threshold .attr );
81+ if (ret )
82+ return ret ;
83+ }
8184
8285 return devm_add_action_or_reset (dev , xe_device_sysfs_fini , xe );
8386}
Original file line number Diff line number Diff line change 1616#include "xe_bo.h"
1717#include "xe_bo_evict.h"
1818#include "xe_device.h"
19- #include "xe_device_sysfs.h"
2019#include "xe_ggtt.h"
2120#include "xe_gt.h"
2221#include "xe_guc.h"
@@ -273,6 +272,7 @@ int xe_pm_init_early(struct xe_device *xe)
273272 if (err )
274273 return err ;
275274
275+ xe -> d3cold .capable = xe_pm_pci_d3cold_capable (xe );
276276 return 0 ;
277277}
278278ALLOW_ERROR_INJECTION (xe_pm_init_early , ERRNO ); /* See xe_pci_probe() */
@@ -344,13 +344,7 @@ int xe_pm_init(struct xe_device *xe)
344344 if (!xe_device_uc_enabled (xe ))
345345 return 0 ;
346346
347- xe -> d3cold .capable = xe_pm_pci_d3cold_capable (xe );
348-
349347 if (xe -> d3cold .capable ) {
350- err = xe_device_sysfs_init (xe );
351- if (err )
352- goto err_unregister ;
353-
354348 vram_threshold = vram_threshold_value (xe );
355349 err = xe_pm_set_vram_threshold (xe , vram_threshold );
356350 if (err )
You can’t perform that action at this time.
0 commit comments