]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
amd/amdgpu: improve VF recover time
authorZhigang Luo <Zhigang.Luo@amd.com>
Wed, 20 Mar 2024 14:40:27 +0000 (10:40 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 10 Apr 2024 02:14:30 +0000 (22:14 -0400)
1. change AMDGPU_VF2PF_UPDATE_MAX_RETRY_LIMIT from 30 to 5.
2. set fatel error detected flag.

Signed-off-by: Zhigang Luo <Zhigang.Luo@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h

index f830024cffca7696b2a666555773345287247599..170da4551ed527700807cca374d76f40004e9698 100644 (file)
@@ -4994,6 +4994,7 @@ retry:
                r = amdgpu_virt_reset_gpu(adev);
        if (r)
                return r;
+       amdgpu_ras_set_fed(adev, false);
        amdgpu_irq_gpu_reset_resume_helper(adev);
 
        /* some sw clean up VF needs to do before recover */
index 461753904dea55a6466beeee02be31bafb7e40cd..54ab51a4ada77f58bcf58e9ffcc90c41f8e9f09f 100644 (file)
@@ -598,6 +598,7 @@ static void amdgpu_virt_update_vf2pf_work_item(struct work_struct *work)
                adev->virt.vf2pf_update_retry_cnt++;
                if ((adev->virt.vf2pf_update_retry_cnt >= AMDGPU_VF2PF_UPDATE_MAX_RETRY_LIMIT) &&
                    amdgpu_sriov_runtime(adev) && !amdgpu_in_reset(adev)) {
+                       amdgpu_ras_set_fed(adev, true);
                        if (amdgpu_reset_domain_schedule(adev->reset_domain,
                                                          &adev->virt.flr_work))
                                return;
index a9f2f0c4f79917363188fb658b8f0063d49d08ba..642f1fd287d83532ffe803b18e55376fe0bb6ff6 100644 (file)
@@ -52,7 +52,7 @@
 /* tonga/fiji use this offset */
 #define mmBIF_IOV_FUNC_IDENTIFIER 0x1503
 
-#define AMDGPU_VF2PF_UPDATE_MAX_RETRY_LIMIT 30
+#define AMDGPU_VF2PF_UPDATE_MAX_RETRY_LIMIT 5
 
 enum amdgpu_sriov_vf_mode {
        SRIOV_VF_MODE_BARE_METAL = 0,