Move the initialization of non-GPU resources
out of the full GPU access region during AMDGPU device initialization

Signed-off-by: chong li <[email protected]>
Co-authored-by: Cursor <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 610d82b79de3..c2ce4659ddc7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1994,10 +1994,6 @@ static int amdgpu_device_ip_early_init(struct 
amdgpu_device *adev)
        amdgpu_device_enable_virtual_display(adev);
 
        if (amdgpu_sriov_vf(adev)) {
-               r = amdgpu_virt_request_full_gpu(adev, true);
-               if (r)
-                       return r;
-
                r = amdgpu_virt_init_critical_region(adev);
                if (r)
                        return r;
@@ -2159,6 +2155,12 @@ static int amdgpu_device_ip_early_init(struct 
amdgpu_device *adev)
        if (!total)
                return -ENODEV;
 
+       if (amdgpu_sriov_vf(adev)) {
+               r = amdgpu_virt_request_full_gpu(adev, true);
+               if (r)
+                       return r;
+       }
+
        if (adev->gmc.xgmi.supported)
                amdgpu_xgmi_early_init(adev);
 
-- 
2.48.1

Reply via email to