[PATCH 2/2] SWDEV-191392 [Vega10]Vega10 BKM0.83 AVFS parameters patch for Linux Driver

Jesse Zhang zhexi.zhang at amd.com
Tue Sep 17 06:31:46 UTC 2019


From: zhexzhan <zhexi.zhang at amd.com>

Issue: DROOP coef read by HDT appear to be mismatch with requirement of BKM0.83

Root cause: These values are supposed to be overwritten by PPLIB.
However, driver missed code of this part.

Solution: Add overwriting process when reading pptable from vBIOS
Hardcode specific coef with correct values:
GbVdroopTableCksoffA0 = 0xFFFCD2E7
GbVdroopTableCksoffA1 = 0x24902
GbVdroopTableCksoffA2 = 0x249BA

Signed-off-by: zhexzhan <zhexi.zhang at amd.com>
---
 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
index 615cf2c0..b827c2c 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
@@ -293,6 +293,13 @@ int pp_atomfwctrl_get_avfs_information(struct pp_hwmgr *hwmgr,
 	format_revision = ((struct atom_common_table_header *)profile)->format_revision;
 	content_revision = ((struct atom_common_table_header *)profile)->content_revision;
 
+	if (format_revision == 4)
+	{
+		profile->gb_vdroop_table_cksoff_a0 = 0xfffcd2e7;
+		profile->gb_vdroop_table_cksoff_a1 = 0x24902;
+		profile->gb_vdroop_table_cksoff_a2 = 0x249ba;
+	}
+
 	if (format_revision == 4 && content_revision == 1) {
 		param->ulMaxVddc = le32_to_cpu(profile->maxvddc);
 		param->ulMinVddc = le32_to_cpu(profile->minvddc);
-- 
2.7.4



More information about the amd-gfx mailing list