drm/amdgpu: enable psp v11.0.8 for cyan_skillfish
authorLang Yu <lang.yu@amd.com>
Thu, 17 Jun 2021 04:48:45 +0000 (12:48 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 23 Jul 2021 14:08:01 +0000 (10:08 -0400)
Add psp v11.0.8 to ip block initialization.

v2: use APU flags (Alex)

Signed-off-by: Lang Yu <lang.yu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
drivers/gpu/drm/amd/amdgpu/nv.c

index d17ac02..ed73114 100644 (file)
@@ -3440,6 +3440,14 @@ const struct amdgpu_ip_block_version psp_v11_0_ip_block =
        .funcs = &psp_ip_funcs,
 };
 
+const struct amdgpu_ip_block_version psp_v11_0_8_ip_block = {
+       .type = AMD_IP_BLOCK_TYPE_PSP,
+       .major = 11,
+       .minor = 0,
+       .rev = 8,
+       .funcs = &psp_ip_funcs,
+};
+
 const struct amdgpu_ip_block_version psp_v12_0_ip_block =
 {
        .type = AMD_IP_BLOCK_TYPE_PSP,
index 64afcd6..36467f1 100644 (file)
@@ -426,6 +426,7 @@ extern const struct amd_ip_funcs psp_ip_funcs;
 extern const struct amdgpu_ip_block_version psp_v3_1_ip_block;
 extern const struct amdgpu_ip_block_version psp_v10_0_ip_block;
 extern const struct amdgpu_ip_block_version psp_v11_0_ip_block;
+extern const struct amdgpu_ip_block_version psp_v11_0_8_ip_block;
 extern const struct amdgpu_ip_block_version psp_v12_0_ip_block;
 extern const struct amdgpu_ip_block_version psp_v13_0_ip_block;
 
index 5e4f763..2b463c0 100644 (file)
@@ -899,6 +899,10 @@ int nv_set_ip_blocks(struct amdgpu_device *adev)
                amdgpu_device_ip_block_add(adev, &nv_common_ip_block);
                 amdgpu_device_ip_block_add(adev, &gmc_v10_0_ip_block);
                 amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
+               if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP)) {
+                       if (adev->apu_flags & AMD_APU_IS_CYAN_SKILLFISH2)
+                               amdgpu_device_ip_block_add(adev, &psp_v11_0_8_ip_block);
+               }
                 if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
                         amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
                 amdgpu_device_ip_block_add(adev, &gfx_v10_0_ip_block);