aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4597-drm-amd-powerplay-fix-missed-hwmgr-check-warning-bef.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4597-drm-amd-powerplay-fix-missed-hwmgr-check-warning-bef.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4597-drm-amd-powerplay-fix-missed-hwmgr-check-warning-bef.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4597-drm-amd-powerplay-fix-missed-hwmgr-check-warning-bef.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4597-drm-amd-powerplay-fix-missed-hwmgr-check-warning-bef.patch
new file mode 100644
index 00000000..79409fb2
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4597-drm-amd-powerplay-fix-missed-hwmgr-check-warning-bef.patch
@@ -0,0 +1,55 @@
+From 49f677cba8f2e2f1988357b77b2adf06aed1098d Mon Sep 17 00:00:00 2001
+From: Huang Rui <ray.huang@amd.com>
+Date: Fri, 18 May 2018 10:39:16 +0800
+Subject: [PATCH 4597/5725] drm/amd/powerplay: fix missed hwmgr check warning
+ before call gfx_off_control handler
+
+Patch 9667849bbb8d: "drm/amd/powerplay: add control gfxoff enabling in late
+init" from Mar 13, 2018, leads to the following static checker warning:
+
+ drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:194
+pp_late_init()
+ error: we previously assumed 'hwmgr' could be null (see line 185)
+
+drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c
+
+This patch fixes the warning to add hwmgr checking.
+
+Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
+Signed-off-by: Huang Rui <ray.huang@amd.com>
+Reviewed-by: Evan Quan <evan.quan@amd.com>
+Signed-off-by: Kalyan Alle <kalyan.alle@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+index 76fc45f..f60de8e 100644
+--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+@@ -180,6 +180,7 @@ static int pp_late_init(void *handle)
+ {
+ struct amdgpu_device *adev = handle;
+ struct pp_hwmgr *hwmgr = adev->powerplay.pp_handle;
++ int ret;
+
+ if (hwmgr && hwmgr->pm_en) {
+ mutex_lock(&hwmgr->smu_lock);
+@@ -191,6 +192,14 @@ static int pp_late_init(void *handle)
+ if (adev->pm.smu_prv_buffer_size != 0)
+ pp_reserve_vram_for_smu(adev);
+
++ if (hwmgr && hwmgr->hwmgr_func &&
++ hwmgr->hwmgr_func->gfx_off_control &&
++ (hwmgr->feature_mask & PP_GFXOFF_MASK)) {
++ ret = hwmgr->hwmgr_func->gfx_off_control(hwmgr, true);
++ if (ret)
++ pr_err("gfx off enabling failed!\n");
++ }
++
+ return 0;
+ }
+
+--
+2.7.4
+