OSDN Git Service

drm/amdgpu/psp: Fix can't detect psp INVOKE command failed
authorXiangliang Yu <Xiangliang.Yu@amd.com>
Thu, 13 Dec 2018 07:34:12 +0000 (15:34 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 14 Jan 2019 20:04:30 +0000 (15:04 -0500)
There isn't ucode when executing INVOKE command, so current code can't
check the failure of INVOKE command.

Remove the ucode check.

Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index 2f126ea..7f5ce37 100644 (file)
@@ -140,10 +140,13 @@ psp_cmd_submit_buf(struct psp_context *psp,
        while (*((unsigned int *)psp->fence_buf) != index)
                msleep(1);
 
-       /* the status field must be 0 after FW is loaded */
-       if (ucode && psp->cmd_buf_mem->resp.status) {
-               DRM_ERROR("failed loading with status (%d) and ucode id (%d)\n",
-                         psp->cmd_buf_mem->resp.status, ucode->ucode_id);
+       /* the status field must be 0 after psp command completion */
+       if (psp->cmd_buf_mem->resp.status) {
+               if (ucode)
+                       DRM_ERROR("failed to load ucode id (%d) ",
+                                 ucode->ucode_id);
+               DRM_ERROR("psp command failed and response status is (%d)\n",
+                         psp->cmd_buf_mem->resp.status);
                return -EINVAL;
        }