drm/amdgpu: Add secure display TA interface
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdgpu / psp_v10_0.c
index d7f9263..4b1cc5e 100644 (file)
@@ -92,8 +92,6 @@ static int psp_v10_0_init_microcode(struct psp_context *psp)
                        (uint8_t *)ta_hdr +
                        le32_to_cpu(ta_hdr->header.ucode_array_offset_bytes);
 
-               adev->psp.ta_fw_version = le32_to_cpu(ta_hdr->header.ucode_version);
-
                adev->psp.ta_dtm_ucode_version =
                        le32_to_cpu(ta_hdr->ta_dtm_ucode_version);
                adev->psp.ta_dtm_ucode_size =
@@ -101,6 +99,16 @@ static int psp_v10_0_init_microcode(struct psp_context *psp)
                adev->psp.ta_dtm_start_addr =
                        (uint8_t *)adev->psp.ta_hdcp_start_addr +
                        le32_to_cpu(ta_hdr->ta_dtm_offset_bytes);
+
+               adev->psp.ta_securedisplay_ucode_version =
+                       le32_to_cpu(ta_hdr->ta_securedisplay_ucode_version);
+               adev->psp.ta_securedisplay_ucode_size =
+                       le32_to_cpu(ta_hdr->ta_securedisplay_size_bytes);
+               adev->psp.ta_securedisplay_start_addr =
+                       (uint8_t *)adev->psp.ta_hdcp_start_addr +
+                       le32_to_cpu(ta_hdr->ta_securedisplay_offset_bytes);
+
+               adev->psp.ta_fw_version = le32_to_cpu(ta_hdr->header.ucode_version);
        }
 
        return 0;