From: Lijo Lazar <lijo.la...@amd.com>

v1: Only single copy per instance type is required for PSP. All instance types
use the same firmware copy. (Lijo)

v2: Apply the change into amdgpu_sdma_init_microcode() due to rebase. (Morris)

Signed-off-by: Lijo Lazar <lijo.la...@amd.com>
Reviewed-by: Hawking Zhang <hawking.zh...@amd.com>
Signed-off-by: Shiwu Zhang <shiwu.zh...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
index 231ca06bc9c7..1797b45d0b55 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
@@ -252,6 +252,13 @@ int amdgpu_sdma_init_microcode(struct amdgpu_device *adev,
                                if (!duplicate && (instance != i))
                                        continue;
                                else {
+                                       /* Use a single copy per SDMA firmware 
type. PSP uses the same instance for all
+                                        * groups of SDMAs */
+                                       if (adev->ip_versions[SDMA0_HWIP][0] == 
IP_VERSION(4, 4, 2) &&
+                                           adev->firmware.load_type == 
AMDGPU_FW_LOAD_PSP &&
+                                           adev->sdma.num_inst_per_aid == i) {
+                                               break;
+                                       }
                                        info = 
&adev->firmware.ucode[AMDGPU_UCODE_ID_SDMA0 + i];
                                        info->ucode_id = AMDGPU_UCODE_ID_SDMA0 
+ i;
                                        info->fw = adev->sdma.instance[i].fw;
-- 
2.17.1

Reply via email to