]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amdgpu: replace ih ip block for vega20 and arcturus
authorAlex Sierra <alex.sierra@amd.com>
Thu, 26 Mar 2020 23:31:35 +0000 (18:31 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 2 Nov 2020 20:33:19 +0000 (15:33 -0500)
[Why]
Vega20 and Arcturus asics use oss 5.0 version.

[How]
Replace ih ip block by navi10 for vega20 and arcturus.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/soc15.c

index f57c5f57efa8a9e90d64765fdfef080954038a76..fc5b11752931aea72aa7c4d54b2952b48481585d 100644 (file)
@@ -62,6 +62,7 @@
 #include "nbio_v7_0.h"
 #include "nbio_v7_4.h"
 #include "vega10_ih.h"
+#include "navi10_ih.h"
 #include "sdma_v4_0.h"
 #include "uvd_v7_0.h"
 #include "vce_v4_0.h"
@@ -734,9 +735,15 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
                                else
                                        amdgpu_device_ip_block_add(adev, &psp_v3_1_ip_block);
                        }
-                       amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
+                       if (adev->asic_type == CHIP_VEGA20)
+                               amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
+                       else
+                               amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
                } else {
-                       amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
+                       if (adev->asic_type == CHIP_VEGA20)
+                               amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
+                       else
+                               amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
                        if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP)) {
                                if (adev->asic_type == CHIP_VEGA20)
                                        amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
@@ -787,9 +794,9 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
                if (amdgpu_sriov_vf(adev)) {
                        if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP))
                                amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
-                       amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
+                       amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
                } else {
-                       amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
+                       amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
                        if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP))
                                amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
                }