diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4297-drm-amdgpu-powerplay-vega10-allow-undervolting-in-p7.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4297-drm-amdgpu-powerplay-vega10-allow-undervolting-in-p7.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4297-drm-amdgpu-powerplay-vega10-allow-undervolting-in-p7.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4297-drm-amdgpu-powerplay-vega10-allow-undervolting-in-p7.patch new file mode 100644 index 00000000..8ed36862 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4297-drm-amdgpu-powerplay-vega10-allow-undervolting-in-p7.patch @@ -0,0 +1,36 @@ +From 21e9e32420338fd825fae8951eec7381232a5d59 Mon Sep 17 00:00:00 2001 +From: Pelle van Gils <pelle@vangils.xyz> +Date: Thu, 24 Oct 2019 16:04:31 +0200 +Subject: [PATCH 4297/4736] drm/amdgpu/powerplay/vega10: allow undervolting in + p7 + +The vega10_odn_update_soc_table() function does not allow the SCLK +dependent voltage to be set for power-state 7 to a value below the default +in pptable. Change the for-loop condition to allow undervolting in the +highest state. + +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=205277 +Signed-off-by: Pelle van Gils <pelle@vangils.xyz> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +index c31ef4262c9e..f62e320ed43d 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +@@ -5095,9 +5095,7 @@ static void vega10_odn_update_soc_table(struct pp_hwmgr *hwmgr, + + if (type == PP_OD_EDIT_SCLK_VDDC_TABLE) { + podn_vdd_dep = &data->odn_dpm_table.vdd_dep_on_sclk; +- for (i = 0; i < podn_vdd_dep->count - 1; i++) +- od_vddc_lookup_table->entries[i].us_vdd = podn_vdd_dep->entries[i].vddc; +- if (od_vddc_lookup_table->entries[i].us_vdd < podn_vdd_dep->entries[i].vddc) ++ for (i = 0; i < podn_vdd_dep->count; i++) + od_vddc_lookup_table->entries[i].us_vdd = podn_vdd_dep->entries[i].vddc; + } else if (type == PP_OD_EDIT_MCLK_VDDC_TABLE) { + podn_vdd_dep = &data->odn_dpm_table.vdd_dep_on_mclk; +-- +2.17.1 + |