drm/amdgpu: Change VI gfx/sdma/smu init sequence
authorRex Zhu <Rex.Zhu@amd.com>
Sun, 30 Sep 2018 09:35:12 +0000 (17:35 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 9 Oct 2018 22:08:25 +0000 (17:08 -0500)
initialize gfx/sdma before dpm features enabled.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vi.c

index 88b57a5..07880d3 100644 (file)
@@ -1596,16 +1596,18 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
                amdgpu_device_ip_block_add(adev, &vi_common_ip_block);
                amdgpu_device_ip_block_add(adev, &gmc_v7_4_ip_block);
                amdgpu_device_ip_block_add(adev, &iceland_ih_ip_block);
+               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
+               amdgpu_device_ip_block_add(adev, &sdma_v2_4_ip_block);
                amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);
                if (adev->enable_virtual_display)
                        amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
-               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &sdma_v2_4_ip_block);
                break;
        case CHIP_FIJI:
                amdgpu_device_ip_block_add(adev, &vi_common_ip_block);
                amdgpu_device_ip_block_add(adev, &gmc_v8_5_ip_block);
                amdgpu_device_ip_block_add(adev, &tonga_ih_ip_block);
+               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
+               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);
                if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
                        amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
@@ -1615,8 +1617,6 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
 #endif
                else
                        amdgpu_device_ip_block_add(adev, &dce_v10_1_ip_block);
-               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                if (!amdgpu_sriov_vf(adev)) {
                        amdgpu_device_ip_block_add(adev, &uvd_v6_0_ip_block);
                        amdgpu_device_ip_block_add(adev, &vce_v3_0_ip_block);
@@ -1626,6 +1626,8 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
                amdgpu_device_ip_block_add(adev, &vi_common_ip_block);
                amdgpu_device_ip_block_add(adev, &gmc_v8_0_ip_block);
                amdgpu_device_ip_block_add(adev, &tonga_ih_ip_block);
+               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
+               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);
                if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
                        amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
@@ -1635,8 +1637,6 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
 #endif
                else
                        amdgpu_device_ip_block_add(adev, &dce_v10_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                if (!amdgpu_sriov_vf(adev)) {
                        amdgpu_device_ip_block_add(adev, &uvd_v5_0_ip_block);
                        amdgpu_device_ip_block_add(adev, &vce_v3_0_ip_block);
@@ -1649,6 +1649,8 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
                amdgpu_device_ip_block_add(adev, &vi_common_ip_block);
                amdgpu_device_ip_block_add(adev, &gmc_v8_1_ip_block);
                amdgpu_device_ip_block_add(adev, &tonga_ih_ip_block);
+               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
+               amdgpu_device_ip_block_add(adev, &sdma_v3_1_ip_block);
                amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);
                if (adev->enable_virtual_display)
                        amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
@@ -1658,8 +1660,6 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
 #endif
                else
                        amdgpu_device_ip_block_add(adev, &dce_v11_2_ip_block);
-               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &sdma_v3_1_ip_block);
                amdgpu_device_ip_block_add(adev, &uvd_v6_3_ip_block);
                amdgpu_device_ip_block_add(adev, &vce_v3_4_ip_block);
                break;
@@ -1667,6 +1667,8 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
                amdgpu_device_ip_block_add(adev, &vi_common_ip_block);
                amdgpu_device_ip_block_add(adev, &gmc_v8_0_ip_block);
                amdgpu_device_ip_block_add(adev, &cz_ih_ip_block);
+               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
+               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);
                if (adev->enable_virtual_display)
                        amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
@@ -1676,8 +1678,6 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
 #endif
                else
                        amdgpu_device_ip_block_add(adev, &dce_v11_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                amdgpu_device_ip_block_add(adev, &uvd_v6_0_ip_block);
                amdgpu_device_ip_block_add(adev, &vce_v3_1_ip_block);
 #if defined(CONFIG_DRM_AMD_ACP)
@@ -1688,6 +1688,8 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
                amdgpu_device_ip_block_add(adev, &vi_common_ip_block);
                amdgpu_device_ip_block_add(adev, &gmc_v8_0_ip_block);
                amdgpu_device_ip_block_add(adev, &cz_ih_ip_block);
+               amdgpu_device_ip_block_add(adev, &gfx_v8_1_ip_block);
+               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);
                if (adev->enable_virtual_display)
                        amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
@@ -1697,8 +1699,6 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
 #endif
                else
                        amdgpu_device_ip_block_add(adev, &dce_v11_0_ip_block);
-               amdgpu_device_ip_block_add(adev, &gfx_v8_1_ip_block);
-               amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);
                amdgpu_device_ip_block_add(adev, &uvd_v6_2_ip_block);
                amdgpu_device_ip_block_add(adev, &vce_v3_4_ip_block);
 #if defined(CONFIG_DRM_AMD_ACP)