]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/ras: Avoid ECC status update in hw_fini for VF unload
authorCe Sun <cesun102@amd.com>
Mon, 13 Apr 2026 11:49:24 +0000 (19:49 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 17 Apr 2026 18:49:51 +0000 (14:49 -0400)
VF sends IDH_REQ_GPU_FINI_ACCESS before hw_fini during unload.
PF no longer accepts requests, so skip ECC status update to prevent
mailbox timeout.

Signed-off-by: Ce Sun <cesun102@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c

index eb552d0cce4aeaaae7aac939b1af7cae2af546cc..fb4d375e87b234368f7411b7a15768b460723c47 100644 (file)
@@ -517,14 +517,9 @@ int amdgpu_virt_ras_hw_fini(struct amdgpu_device *adev)
                        (struct amdgpu_virt_ras_cmd *)ras_mgr->virt_ras_cmd;
        struct vram_blocks_ecc *blks_ecc = &virt_ras->blocks_ecc;
 
-       if (blks_ecc->shared_mem.cpu_addr) {
-               __set_cmd_auto_update(adev,
-                       RAS_CMD__GET_ALL_BLOCK_ECC_STATUS,
-                       blks_ecc->shared_mem.gpa,
-                       blks_ecc->shared_mem.size, false);
-
+       if (blks_ecc->shared_mem.cpu_addr)
                memset(blks_ecc->shared_mem.cpu_addr, 0, blks_ecc->shared_mem.size);
-       }
+
        memset(blks_ecc, 0, sizeof(*blks_ecc));
 
        return 0;