]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Move reset-on-init sequence earlier
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 7 Oct 2025 13:00:24 +0000 (18:30 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 13 Oct 2025 18:14:35 +0000 (14:14 -0400)
Complete reset-on-init sequence before sysfs interfaces are created.
Devices get properly initiaized only after reset, and then only sysfs
interfaces should be made available.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 50acf2a944924dc4aab08a4c632ae27f31195518..0d5585bc3b04e3d5501d3d845c8a300e6a6cca21 100644 (file)
@@ -4857,6 +4857,8 @@ fence_driver_init:
                flush_delayed_work(&adev->delayed_init_work);
        }
 
+       if (adev->init_lvl->level == AMDGPU_INIT_LEVEL_MINIMAL_XGMI)
+               amdgpu_xgmi_reset_on_init(adev);
        /*
         * Place those sysfs registering after `late_init`. As some of those
         * operations performed in `late_init` might affect the sysfs
@@ -4890,9 +4892,6 @@ fence_driver_init:
        if (px)
                vga_switcheroo_init_domain_pm_ops(adev->dev, &adev->vga_pm_domain);
 
-       if (adev->init_lvl->level == AMDGPU_INIT_LEVEL_MINIMAL_XGMI)
-               amdgpu_xgmi_reset_on_init(adev);
-
        amdgpu_device_check_iommu_direct_map(adev);
 
        adev->pm_nb.notifier_call = amdgpu_device_pm_notifier;