]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amdgpu: Change IP init sequence to support PSP program IH_RB_CNTL on NV12 SRIOV
authorPeng Ju Zhou <PengJu.Zhou@amd.com>
Tue, 25 May 2021 10:21:38 +0000 (18:21 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 26 May 2021 03:47:03 +0000 (23:47 -0400)
To enable PSP program IH_RB_CNTL,
the PSP IP should be initialized before IH IP, otherwise,
it will hit psp NULL pointer.

Signed-off-by: Peng Ju Zhou <PengJu.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/nv.c

index 437db0783b6497f7293bc78d207e806c2af5bd53..27ba0408a2aaa39d7868a03c3ec0ef68814703d2 100644 (file)
@@ -849,8 +849,13 @@ int nv_set_ip_blocks(struct amdgpu_device *adev)
        case CHIP_NAVI12:
                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);
-               amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
+               if (!amdgpu_sriov_vf(adev)) {
+                       amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
+                       amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
+               } else {
+                       amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
+                       amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
+               }
                if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP)
                        amdgpu_device_ip_block_add(adev, &smu_v11_0_ip_block);
                if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))