]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu: fill the ucode bo during psp resume for SRIOV
authorVictor Zhao <Victor.Zhao@amd.com>
Mon, 6 Jan 2025 10:42:11 +0000 (18:42 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 9 Jan 2025 21:02:57 +0000 (16:02 -0500)
refill the ucode bo during psp resume for SRIOV, otherwise ucode load
will fail after VM hibernation and fb clean.

Signed-off-by: Victor Zhao <Victor.Zhao@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index e6025e11df37a2c630458a4a66773c2cdb968453..babe94ade24787fabcf5ecdc215e2397db55ad5b 100644 (file)
@@ -3020,10 +3020,7 @@ static int psp_hw_init(struct amdgpu_ip_block *ip_block)
        struct amdgpu_device *adev = ip_block->adev;
 
        mutex_lock(&adev->firmware.mutex);
-       /*
-        * This sequence is just used on hw_init only once, no need on
-        * resume.
-        */
+
        ret = amdgpu_ucode_init_bo(adev);
        if (ret)
                goto failed;
@@ -3148,6 +3145,10 @@ static int psp_resume(struct amdgpu_ip_block *ip_block)
 
        mutex_lock(&adev->firmware.mutex);
 
+       ret = amdgpu_ucode_init_bo(adev);
+       if (ret)
+               goto failed;
+
        ret = psp_hw_start(psp);
        if (ret)
                goto failed;