aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3955-drm-amd-pp-Use-release_firmware-directly-in-powerpla.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3955-drm-amd-pp-Use-release_firmware-directly-in-powerpla.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3955-drm-amd-pp-Use-release_firmware-directly-in-powerpla.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3955-drm-amd-pp-Use-release_firmware-directly-in-powerpla.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3955-drm-amd-pp-Use-release_firmware-directly-in-powerpla.patch
new file mode 100644
index 00000000..c82119bf
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3955-drm-amd-pp-Use-release_firmware-directly-in-powerpla.patch
@@ -0,0 +1,68 @@
+From ab3352cb2af78f8328fab60e4ad1b87e52527ce3 Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Thu, 22 Mar 2018 19:32:45 +0800
+Subject: [PATCH 3955/4131] drm/amd/pp: Use release_firmware directly in
+ powerplay
+
+Use kernel api directly so we can deprecate the cgs interface.
+
+Change-Id: I29c3eeba92ea0fcef7e13bf8c70080c0e9b34d8f
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 6 +++++-
+ drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c | 1 -
+ drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 1 -
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+index d1f4bb0..5173e2f 100644
+--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+@@ -25,6 +25,7 @@
+ #include <linux/kernel.h>
+ #include <linux/gfp.h>
+ #include <linux/slab.h>
++#include <linux/firmware.h>
+ #include "amd_shared.h"
+ #include "amd_powerplay.h"
+ #include "power_state.h"
+@@ -107,8 +108,11 @@ static int pp_sw_fini(void *handle)
+
+ hwmgr_sw_fini(hwmgr);
+
+- if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU)
++ if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU) {
++ release_firmware(adev->pm.fw);
++ adev->pm.fw = NULL;
+ amdgpu_ucode_fini_bo(adev);
++ }
+
+ return 0;
+ }
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c
+index 08d0001..e30a2ee 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c
+@@ -2784,7 +2784,6 @@ static int ci_smu_fini(struct pp_hwmgr *hwmgr)
+ {
+ kfree(hwmgr->smu_backend);
+ hwmgr->smu_backend = NULL;
+- cgs_rel_firmware(hwmgr->device, CGS_UCODE_ID_SMU);
+ return 0;
+ }
+
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
+index 3684822..41fab2d 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
+@@ -650,6 +650,5 @@ int smu7_smu_fini(struct pp_hwmgr *hwmgr)
+
+ kfree(hwmgr->smu_backend);
+ hwmgr->smu_backend = NULL;
+- cgs_rel_firmware(hwmgr->device, CGS_UCODE_ID_SMU);
+ return 0;
+ }
+--
+2.7.4
+