From: zhexzhan <zhexi.zh...@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.zh...@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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to