aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3802-drm-amdgpu-Call-amdgpu_ucode_fini_bo-in-amd_powerpla.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3802-drm-amdgpu-Call-amdgpu_ucode_fini_bo-in-amd_powerpla.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3802-drm-amdgpu-Call-amdgpu_ucode_fini_bo-in-amd_powerpla.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3802-drm-amdgpu-Call-amdgpu_ucode_fini_bo-in-amd_powerpla.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3802-drm-amdgpu-Call-amdgpu_ucode_fini_bo-in-amd_powerpla.patch
new file mode 100644
index 00000000..2ddd3750
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3802-drm-amdgpu-Call-amdgpu_ucode_fini_bo-in-amd_powerpla.patch
@@ -0,0 +1,62 @@
+From 89282b31e6f19ffc4763151440403a4d30641414 Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Mon, 12 Mar 2018 19:53:01 +0800
+Subject: [PATCH 3802/4131] drm/amdgpu: Call amdgpu_ucode_fini_bo in
+ amd_powerplay.c
+
+make it symmetric with amdgpu_ucode_init_bo in amd_powerplay.c
+
+refine the "commit b22558bb4ff8fc9fe925222f90297d7a03a5fb20"
+
+Change-Id: I4553a6201557a40ebed21a56827b4134aefa8534
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Evan Quan <evan.quan@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ---
+ drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 8 +++++++-
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+index 0a0c3df..cf36eca 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -1533,9 +1533,6 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
+ }
+
+ for (i = adev->num_ip_blocks - 1; i >= 0; i--) {
+- if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC &&
+- adev->firmware.load_type == AMDGPU_FW_LOAD_SMU)
+- amdgpu_ucode_fini_bo(adev);
+ if (!adev->ip_blocks[i].status.hw)
+ continue;
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+index ed8eb0d..482115b 100644
+--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+@@ -134,6 +134,10 @@ static int pp_sw_fini(void *handle)
+ if (hwmgr->smumgr_funcs->smu_fini != NULL)
+ hwmgr->smumgr_funcs->smu_fini(hwmgr);
+ }
++
++ if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU)
++ amdgpu_ucode_fini_bo(adev);
++
+ return 0;
+ }
+
+@@ -201,7 +205,9 @@ static int pp_late_init(void *handle)
+
+ static void pp_late_fini(void *handle)
+ {
+- amd_powerplay_destroy(handle);
++ struct amdgpu_device *adev = handle;
++
++ amd_powerplay_destroy(adev);
+ }
+
+
+--
+2.7.4
+