diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5518-drm-amdgpu-Change-VI-gfx-sdma-smu-init-sequence.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/5518-drm-amdgpu-Change-VI-gfx-sdma-smu-init-sequence.patch | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5518-drm-amdgpu-Change-VI-gfx-sdma-smu-init-sequence.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5518-drm-amdgpu-Change-VI-gfx-sdma-smu-init-sequence.patch new file mode 100644 index 00000000..01a930b3 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5518-drm-amdgpu-Change-VI-gfx-sdma-smu-init-sequence.patch @@ -0,0 +1,122 @@ +From 3310542a4df2ba6ec036c96ee167b601a0304b3b Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Sun, 30 Sep 2018 17:35:12 +0800 +Subject: [PATCH 5518/5725] drm/amdgpu: Change VI gfx/sdma/smu init sequence + +initialize gfx/sdma before dpm features enabled. + +Acked-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/vi.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c +index f9c62a7..1bda26a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/vi.c ++++ b/drivers/gpu/drm/amd/amdgpu/vi.c +@@ -1601,16 +1601,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); +@@ -1620,8 +1622,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); +@@ -1631,6 +1631,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); +@@ -1640,8 +1642,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); +@@ -1654,6 +1654,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); +@@ -1663,8 +1665,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; +@@ -1672,6 +1672,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); +@@ -1681,8 +1683,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) +@@ -1693,6 +1693,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); +@@ -1702,8 +1704,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) +-- +2.7.4 + |