]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: remove the check of init status in psp_ras_initialize
authorTao Zhou <tao.zhou1@amd.com>
Thu, 10 Nov 2022 06:37:08 +0000 (14:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Sep 2025 16:54:23 +0000 (18:54 +0200)
[ Upstream commit 3e931368091f7d5d7902cee9d410eb6db2eea419 ]

The initialized status indicates RAS TA is loaded, but in some cases
(such as RAS fatal error) RAS TA could be destroyed although it's not
unloaded. Hence we load RAS TA unconditionally here.

Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Candice Li <candice.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Stable-dep-of: 467e00b30dfe ("drm/amd/amdgpu: Fix missing error return on kzalloc failure")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index d101333fe3a574fb91bc0bd34af5f1412e9fc12f..ff3678a1c02967b6b3811447f9422d5f1ee133df 100644 (file)
@@ -1571,11 +1571,6 @@ static int psp_ras_initialize(struct psp_context *psp)
        if (amdgpu_sriov_vf(adev))
                return 0;
 
-       if (psp->ras_context.context.initialized) {
-               dev_warn(adev->dev, "RAS WARN: TA has already been loaded\n");
-               return 0;
-       }
-
        if (!adev->psp.ras_context.context.bin_desc.size_bytes ||
            !adev->psp.ras_context.context.bin_desc.start_addr) {
                dev_info(adev->dev, "RAS: optional ras ta ucode is not available\n");
@@ -1647,6 +1642,9 @@ static int psp_ras_initialize(struct psp_context *psp)
        else {
                if (ras_cmd->ras_status)
                        dev_warn(psp->adev->dev, "RAS Init Status: 0x%X\n", ras_cmd->ras_status);
+
+               /* fail to load RAS TA */
+               psp->ras_context.context.initialized = false;
        }
 
        return ret;