diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0492-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0492-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0492-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0492-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch new file mode 100644 index 00000000..0a55bd5f --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0492-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch @@ -0,0 +1,39 @@ +From db07a76504e34e8e1641b8108a4b7aba9f62aad3 Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Wed, 3 Oct 2018 16:19:50 +0800 +Subject: [PATCH 0492/2940] drm/amdgpu: Check late_init status before set cg/pg + state + +Fix cg/pg unexpected set in hw init failed case. + +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +index 764f67feceff..41a959165906 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +@@ -1704,7 +1704,7 @@ static int amdgpu_device_set_cg_state(struct amdgpu_device *adev, + + for (j = 0; j < adev->num_ip_blocks; j++) { + i = state == AMD_CG_STATE_GATE ? j : adev->num_ip_blocks - j - 1; +- if (!adev->ip_blocks[i].status.valid) ++ if (!adev->ip_blocks[i].status.late_initialized) + continue; + /* skip CG for VCE/UVD, it's handled specially */ + if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_UVD && +@@ -1734,7 +1734,7 @@ static int amdgpu_device_set_pg_state(struct amdgpu_device *adev, enum amd_power + + for (j = 0; j < adev->num_ip_blocks; j++) { + i = state == AMD_PG_STATE_GATE ? j : adev->num_ip_blocks - j - 1; +- if (!adev->ip_blocks[i].status.valid) ++ if (!adev->ip_blocks[i].status.late_initialized) + continue; + /* skip CG for VCE/UVD, it's handled specially */ + if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_UVD && +-- +2.17.1 + |