aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5534-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5534-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5534-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5534-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5534-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch
new file mode 100644
index 00000000..b5d9d8b7
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5534-drm-amdgpu-Check-late_init-status-before-set-cg-pg-s.patch
@@ -0,0 +1,39 @@
+From 8b57a6d371949e570b1a0444f8c8e1abbd791ad4 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 5534/5725] 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 9230cdb..0cce3fa 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -1706,7 +1706,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 &&
+@@ -1736,7 +1736,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.7.4
+