aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0626-drm-amdgpu-psp-firmware-load-status-check.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0626-drm-amdgpu-psp-firmware-load-status-check.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0626-drm-amdgpu-psp-firmware-load-status-check.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0626-drm-amdgpu-psp-firmware-load-status-check.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0626-drm-amdgpu-psp-firmware-load-status-check.patch
new file mode 100644
index 00000000..3df8939e
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0626-drm-amdgpu-psp-firmware-load-status-check.patch
@@ -0,0 +1,31 @@
+From 58fc6a5b4da2621444952d850af29768abed5e3f Mon Sep 17 00:00:00 2001
+From: Raveendra Talabattula <raveendra.talabattula@amd.com>
+Date: Thu, 7 Feb 2019 11:45:55 +0530
+Subject: [PATCH 0626/2940] drm/amdgpu: psp firmware load status check
+
+Signed-off-by: Raveendra Talabattula <raveendra.talabattula@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+index 84d7ee97070a..4b74c9ccb0e8 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+@@ -133,6 +133,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);
++ return -EINVAL;
++ }
+
+ if (ucode) {
+ ucode->tmr_mc_addr_lo = psp->cmd_buf_mem->resp.fw_addr_lo;
+--
+2.17.1
+