`FeatureCtrlMask` should not be included in those settings interested.

Signed-off-by: Evan Quan <evan.q...@amd.com>
---
 .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 16 ++++++++--------
 .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 16 ++++++++--------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
index e2265f50bacc..2570e03e0fa7 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
@@ -1360,7 +1360,7 @@ static int smu_v13_0_0_od_edit_dpm_table(struct 
smu_context *smu,
        OverDriveTableExternal_t *od_table =
                (OverDriveTableExternal_t *)table_context->overdrive_table;
        struct amdgpu_device *adev = smu->adev;
-       uint32_t offset_of_featurectrlmask;
+       uint32_t offset_of_voltageoffset;
        int32_t minimum, maximum;
        uint32_t feature_ctrlmask;
        int i, ret = 0;
@@ -1534,10 +1534,10 @@ static int smu_v13_0_0_od_edit_dpm_table(struct 
smu_context *smu,
                 * It does not contain actual informations about user's custom
                 * settings. Thus we do not cache it.
                 */
-               offset_of_featurectrlmask = offsetof(OverDriveTable_t, 
FeatureCtrlMask);
-               if (memcmp((u8 *)od_table + offset_of_featurectrlmask,
-                          table_context->user_overdrive_table + 
offset_of_featurectrlmask,
-                          sizeof(OverDriveTableExternal_t) - 
offset_of_featurectrlmask)) {
+               offset_of_voltageoffset = offsetof(OverDriveTable_t, 
VoltageOffsetPerZoneBoundary);
+               if (memcmp((u8 *)od_table + offset_of_voltageoffset,
+                          table_context->user_overdrive_table + 
offset_of_voltageoffset,
+                          sizeof(OverDriveTableExternal_t) - 
offset_of_voltageoffset)) {
                        smu_v13_0_0_dump_od_table(smu, od_table);
 
                        ret = smu_v13_0_0_upload_overdrive_table(smu, od_table);
@@ -1547,9 +1547,9 @@ static int smu_v13_0_0_od_edit_dpm_table(struct 
smu_context *smu,
                        }
 
                        od_table->OverDriveTable.FeatureCtrlMask = 0;
-                       memcpy(table_context->user_overdrive_table + 
offset_of_featurectrlmask,
-                              (u8 *)od_table + offset_of_featurectrlmask,
-                              sizeof(OverDriveTableExternal_t) - 
offset_of_featurectrlmask);
+                       memcpy(table_context->user_overdrive_table + 
offset_of_voltageoffset,
+                              (u8 *)od_table + offset_of_voltageoffset,
+                              sizeof(OverDriveTableExternal_t) - 
offset_of_voltageoffset);
 
                        if (!memcmp(table_context->user_overdrive_table,
                                    table_context->boot_overdrive_table,
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
index ebb961f60316..aa381991dede 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
@@ -1349,7 +1349,7 @@ static int smu_v13_0_7_od_edit_dpm_table(struct 
smu_context *smu,
        OverDriveTableExternal_t *od_table =
                (OverDriveTableExternal_t *)table_context->overdrive_table;
        struct amdgpu_device *adev = smu->adev;
-       uint32_t offset_of_featurectrlmask;
+       uint32_t offset_of_voltageoffset;
        int32_t minimum, maximum;
        uint32_t feature_ctrlmask;
        int i, ret = 0;
@@ -1523,10 +1523,10 @@ static int smu_v13_0_7_od_edit_dpm_table(struct 
smu_context *smu,
                 * It does not contain actual informations about user's custom
                 * settings. Thus we do not cache it.
                 */
-               offset_of_featurectrlmask = offsetof(OverDriveTable_t, 
FeatureCtrlMask);
-               if (memcmp((u8 *)od_table + offset_of_featurectrlmask,
-                          table_context->user_overdrive_table + 
offset_of_featurectrlmask,
-                          sizeof(OverDriveTableExternal_t) - 
offset_of_featurectrlmask)) {
+               offset_of_voltageoffset = offsetof(OverDriveTable_t, 
VoltageOffsetPerZoneBoundary);
+               if (memcmp((u8 *)od_table + offset_of_voltageoffset,
+                          table_context->user_overdrive_table + 
offset_of_voltageoffset,
+                          sizeof(OverDriveTableExternal_t) - 
offset_of_voltageoffset)) {
                        smu_v13_0_7_dump_od_table(smu, od_table);
 
                        ret = smu_v13_0_7_upload_overdrive_table(smu, od_table);
@@ -1536,9 +1536,9 @@ static int smu_v13_0_7_od_edit_dpm_table(struct 
smu_context *smu,
                        }
 
                        od_table->OverDriveTable.FeatureCtrlMask = 0;
-                       memcpy(table_context->user_overdrive_table + 
offset_of_featurectrlmask,
-                              (u8 *)od_table + offset_of_featurectrlmask,
-                              sizeof(OverDriveTableExternal_t) - 
offset_of_featurectrlmask);
+                       memcpy(table_context->user_overdrive_table + 
offset_of_voltageoffset,
+                              (u8 *)od_table + offset_of_voltageoffset,
+                              sizeof(OverDriveTableExternal_t) - 
offset_of_voltageoffset);
 
                        if (!memcmp(table_context->user_overdrive_table,
                                    table_context->boot_overdrive_table,
-- 
2.34.1

Reply via email to