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 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"
@@ -915,6 +916,10 @@ int xe_device_probe(struct xe_device *xe)
915
916
if (err )
916
917
goto err_unregister_display ;
917
918
919
+ err = xe_device_sysfs_init (xe );
920
+ if (err )
921
+ goto err_unregister_display ;
922
+
918
923
xe_debugfs_register (xe );
919
924
920
925
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)
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 )
74
75
{
75
76
struct device * dev = xe -> drm .dev ;
76
77
int ret ;
77
78
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
+ }
81
84
82
85
return devm_add_action_or_reset (dev , xe_device_sysfs_fini , xe );
83
86
}
Original file line number Diff line number Diff line change 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"
@@ -273,6 +272,7 @@ int xe_pm_init_early(struct xe_device *xe)
273
272
if (err )
274
273
return err ;
275
274
275
+ xe -> d3cold .capable = xe_pm_pci_d3cold_capable (xe );
276
276
return 0 ;
277
277
}
278
278
ALLOW_ERROR_INJECTION (xe_pm_init_early , ERRNO ); /* See xe_pci_probe() */
@@ -344,13 +344,7 @@ int xe_pm_init(struct xe_device *xe)
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 )
You can’t perform that action at this time.
0 commit comments