Skip to content

Commit f3e875b

Browse files
raagjadavrodrigovivi
authored andcommitted
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 <[email protected]> Reviewed-by: Riana Tauro <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rodrigo Vivi <[email protected]>
1 parent 432cd94 commit f3e875b

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

drivers/gpu/drm/xe/xe_device.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
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);

drivers/gpu/drm/xe/xe_device_sysfs.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff 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

7374
int 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
}

drivers/gpu/drm/xe/xe_pm.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
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
}
278278
ALLOW_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)

0 commit comments

Comments
 (0)