after updating amdgpu-firmware from 20221214 to 20230310 a new
authorjsg <jsg@openbsd.org>
Thu, 16 Mar 2023 22:44:35 +0000 (22:44 +0000)
committerjsg <jsg@openbsd.org>
Thu, 16 Mar 2023 22:44:35 +0000 (22:44 +0000)
warning appeared in dmesg on renoir:

[drm] psp gfx command LOAD_TA(0x1) failed and response status is (0x7)
[drm] psp gfx command INVOKE_CMD(0x3) failed and response status is (0x4)
psp_securedisplay_parse_resp_status *ERROR* Secure display: Generic Failure.
psp_securedisplay_initialize *ERROR* SECUREDISPLAY: query securedisplay TA failed. ret 0x0

This is likely related to not implementing all the HDCP paths.
Return early in psp_securedisplay_initialize() to avoid this.

I suspect the newer renoir firmware adds a TA_FW_TYPE_PSP_SECUREDISPLAY
component the older one didn't have.

reported by jmc@

sys/dev/pci/drm/amd/amdgpu/amdgpu_psp.c

index a5afdd6..582d50a 100644 (file)
@@ -1925,6 +1925,19 @@ static int psp_securedisplay_initialize(struct psp_context *psp)
                return 0;
        }
 
+#ifdef __OpenBSD__
+       /*
+        * with 20230117 or later firmware or later on renoir:
+        *
+        * [drm] psp gfx command LOAD_TA(0x1) failed and response status is (0x7)
+        * [drm] psp gfx command INVOKE_CMD(0x3) failed and response status is (0x4)
+        * psp_securedisplay_parse_resp_status *ERROR* Secure display: Generic Failure
+        * psp_securedisplay_initialize *ERROR* SECUREDISPLAY: query
+        *   securedisplay TA failed. ret 0x0
+        */
+       return 0;
+#endif
+
        psp->securedisplay_context.context.mem_context.shared_mem_size =
                PSP_SECUREDISPLAY_SHARED_MEM_SIZE;
        psp->securedisplay_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;