drm/amd/amdgpu: consolidate PSP TA context
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdgpu / psp_v11_0.c
index 8862684..29bf9f0 100644 (file)
@@ -151,15 +151,15 @@ static int psp_v11_0_init_microcode(struct psp_context *psp)
                                goto out2;
 
                        ta_hdr = (const struct ta_firmware_header_v1_0 *)adev->psp.ta_fw->data;
-                       adev->psp.ta_xgmi_ucode_version = le32_to_cpu(ta_hdr->ta_xgmi_ucode_version);
-                       adev->psp.ta_xgmi_ucode_size = le32_to_cpu(ta_hdr->ta_xgmi_size_bytes);
-                       adev->psp.ta_xgmi_start_addr = (uint8_t *)ta_hdr +
+                       adev->psp.xgmi.feature_version = le32_to_cpu(ta_hdr->xgmi.fw_version);
+                       adev->psp.xgmi.size_bytes = le32_to_cpu(ta_hdr->xgmi.size_bytes);
+                       adev->psp.xgmi.start_addr = (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_ras_ucode_version = le32_to_cpu(ta_hdr->ta_ras_ucode_version);
-                       adev->psp.ta_ras_ucode_size = le32_to_cpu(ta_hdr->ta_ras_size_bytes);
-                       adev->psp.ta_ras_start_addr = (uint8_t *)adev->psp.ta_xgmi_start_addr +
-                               le32_to_cpu(ta_hdr->ta_ras_offset_bytes);
+                       adev->psp.ras.feature_version = le32_to_cpu(ta_hdr->ras.fw_version);
+                       adev->psp.ras.size_bytes = le32_to_cpu(ta_hdr->ras.size_bytes);
+                       adev->psp.ras.start_addr = (uint8_t *)adev->psp.xgmi.start_addr +
+                               le32_to_cpu(ta_hdr->ras.offset_bytes);
                }
                break;
        case CHIP_NAVI10:
@@ -186,17 +186,17 @@ static int psp_v11_0_init_microcode(struct psp_context *psp)
                                goto out2;
 
                        ta_hdr = (const struct ta_firmware_header_v1_0 *)adev->psp.ta_fw->data;
-                       adev->psp.ta_hdcp_ucode_version = le32_to_cpu(ta_hdr->ta_hdcp_ucode_version);
-                       adev->psp.ta_hdcp_ucode_size = le32_to_cpu(ta_hdr->ta_hdcp_size_bytes);
-                       adev->psp.ta_hdcp_start_addr = (uint8_t *)ta_hdr +
+                       adev->psp.hdcp.feature_version = le32_to_cpu(ta_hdr->hdcp.fw_version);
+                       adev->psp.hdcp.size_bytes = le32_to_cpu(ta_hdr->hdcp.size_bytes);
+                       adev->psp.hdcp.start_addr = (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 = le32_to_cpu(ta_hdr->ta_dtm_size_bytes);
-                       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.dtm.feature_version = le32_to_cpu(ta_hdr->dtm.fw_version);
+                       adev->psp.dtm.size_bytes = le32_to_cpu(ta_hdr->dtm.size_bytes);
+                       adev->psp.dtm.start_addr = (uint8_t *)adev->psp.hdcp.start_addr +
+                               le32_to_cpu(ta_hdr->dtm.offset_bytes);
                }
                break;
        case CHIP_SIENNA_CICHLID: