aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4880-drm-amd-powerplay-add-vega12-SMU-gfxoff-support-v3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4880-drm-amd-powerplay-add-vega12-SMU-gfxoff-support-v3.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4880-drm-amd-powerplay-add-vega12-SMU-gfxoff-support-v3.patch115
1 files changed, 0 insertions, 115 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4880-drm-amd-powerplay-add-vega12-SMU-gfxoff-support-v3.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4880-drm-amd-powerplay-add-vega12-SMU-gfxoff-support-v3.patch
deleted file mode 100644
index b3a4a8ce..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4880-drm-amd-powerplay-add-vega12-SMU-gfxoff-support-v3.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 9927e33a9ef6b25d569594d06204d0baffa5394c Mon Sep 17 00:00:00 2001
-From: Evan Quan <evan.quan@amd.com>
-Date: Wed, 4 Jul 2018 16:44:07 +0800
-Subject: [PATCH 4880/5725] drm/amd/powerplay: add vega12 SMU gfxoff support v3
-
-Export apis for enabling/disabling SMU gfxoff support.
-
-v2: fit the latest gfxoff support framework
-v3: add feature_mask control
-
-Signed-off-by: Evan Quan <evan.quan@amd.com>
-Reviewed-by: Huang Rui <ray.huang at amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 5 +++
- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c | 38 ++++++++++++++++++++++
- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.h | 3 ++
- 3 files changed, 46 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-index 5a719b0..e221eb0 100644
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-@@ -3789,6 +3789,11 @@ static int gfx_v9_0_set_powergating_state(void *handle,
- if (enable && adev->powerplay.pp_funcs->set_powergating_by_smu)
- amdgpu_dpm_set_powergating_by_smu(adev, AMD_IP_BLOCK_TYPE_GFX, true);
- break;
-+ case CHIP_VEGA12:
-+ /* set gfx off through smu */
-+ if (enable && adev->powerplay.pp_funcs->set_powergating_by_smu)
-+ amdgpu_dpm_set_powergating_by_smu(adev, AMD_IP_BLOCK_TYPE_GFX, true);
-+ break;
- default:
- break;
- }
-diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
-index ed17c56..cae76fe 100644
---- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
-+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
-@@ -423,6 +423,11 @@ static int vega12_hwmgr_backend_init(struct pp_hwmgr *hwmgr)
- hwmgr->thermal_controller.advanceFanControlParameters.usFanPWMMinLimit *
- hwmgr->thermal_controller.fanInfo.ulMaxRPM / 100;
-
-+ if (hwmgr->feature_mask & PP_GFXOFF_MASK)
-+ data->gfxoff_controlled_by_driver = true;
-+ else
-+ data->gfxoff_controlled_by_driver = false;
-+
- return result;
- }
-
-@@ -2328,6 +2333,38 @@ static int vega12_get_thermal_temperature_range(struct pp_hwmgr *hwmgr,
- return 0;
- }
-
-+static int vega12_enable_gfx_off(struct pp_hwmgr *hwmgr)
-+{
-+ struct vega12_hwmgr *data =
-+ (struct vega12_hwmgr *)(hwmgr->backend);
-+ int ret = 0;
-+
-+ if (data->gfxoff_controlled_by_driver)
-+ ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_AllowGfxOff);
-+
-+ return ret;
-+}
-+
-+static int vega12_disable_gfx_off(struct pp_hwmgr *hwmgr)
-+{
-+ struct vega12_hwmgr *data =
-+ (struct vega12_hwmgr *)(hwmgr->backend);
-+ int ret = 0;
-+
-+ if (data->gfxoff_controlled_by_driver)
-+ ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_DisallowGfxOff);
-+
-+ return ret;
-+}
-+
-+static int vega12_gfx_off_control(struct pp_hwmgr *hwmgr, bool enable)
-+{
-+ if (enable)
-+ return vega12_enable_gfx_off(hwmgr);
-+ else
-+ return vega12_disable_gfx_off(hwmgr);
-+}
-+
- static const struct pp_hwmgr_func vega12_hwmgr_funcs = {
- .backend_init = vega12_hwmgr_backend_init,
- .backend_fini = vega12_hwmgr_backend_fini,
-@@ -2377,6 +2414,7 @@ static const struct pp_hwmgr_func vega12_hwmgr_funcs = {
- .get_thermal_temperature_range = vega12_get_thermal_temperature_range,
- .register_irq_handlers = smu9_register_irq_handlers,
- .start_thermal_controller = vega12_start_thermal_controller,
-+ .powergate_gfx = vega12_gfx_off_control,
- };
-
- int vega12_hwmgr_init(struct pp_hwmgr *hwmgr)
-diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.h b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.h
-index e17237c..b3e424d 100644
---- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.h
-+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.h
-@@ -393,6 +393,9 @@ struct vega12_hwmgr {
- struct vega12_smc_state_table smc_state_table;
-
- struct vega12_clock_range clk_range[PPCLK_COUNT];
-+
-+ /* ---- Gfxoff ---- */
-+ bool gfxoff_controlled_by_driver;
- };
-
- #define VEGA12_DPM2_NEAR_TDP_DEC 10
---
-2.7.4
-